The sheets of ePaper that let you know what we’re up to!
As the teams mod is based off of the groups mod we have support for a "default" team. What this means in the context of the GDCs is that your "default" team is the team you are competing with. However, you aren't able to be a member of more than one team, so the default thing is a bit redundant.
I think we'll keep it this way though, in the event that we do allow people to join multiple teams for some odd reason. Though if that is the case we may end up making competitions require registration in some sense.
You should be a regular reader of Smashing Magazine if you haven't stumbled across it already. Their most recent post featured a design by Design Disease, and it's really quite a treat.
Seeing as the design has been released under a very open license, I've begun modifying it to fit our needs here and things are coming along quite nicely. My ideal goal is to have a unified feeling between the blog and the forum, enticing people to actually read the blog from time to time *grin*.
At this moment, I have modified the design for the forums to match that of the blog at least in the header. All non-header-related design still needs some tweaking.
Well, that was initially complicated. And then not so much.
The permissions system is not a beast that can be tackled by force alone, it requires a bit of insight. There is now a permission for teams which allows people to create them. People, in this sense, only covers the group of registered users of course.
I have concluded that designing the team mod from the ground up is a bad idea, and have opted for a direct copy, find, and replace of the groups mod. This way I can remove the features that don't make sense and add the features that don't exist, keeping a nice intersection of the two sets left over from the group code.
On another note. I'm currently in flight and just read the safety manual. I'm not quite sure that I feel safe when the manual was written in the mid-80's.
At the moment the module for managing and joining teams is in the works, with some rudimentary team creation code running. It's being modeled off of the groups module quite closely. Actually, it is the groups module, with a few changes here and there to enforce things like being a member of only one team.
About that. I've pondered the possibility of allowing people to join multiple teams at a time and have one "primary" team which they would compete under. I've decided, however, that that would be pointless to do; this is what groups are for.
So the system is going to work such that if you are not an activated member of any team, you can create a new team or join an already existing team. This means that if you are a pending member of a team, you can still create a new team; it will just remove your pending membership and set you as the leader of the new team.
The update to 3.0.0 (the official phpBB3 release) was a success!
I've also just added code to add yourself as team leader when you create a team.
I began work on the new 72HourGDC board on...Tuesday, December 11, 2007 at 3:48AM, apparently. This is what I've done so far.
To start everything off, I got a hold of the (at the time) latest release of phpBB3, RC8. This was followed by a simple installation process, at which point I began experimenting with the board on a level comparable to that of a freshly graduated-from-high-school university student.
One really nice thing about phpBB3 is the addition of a modularized system for plug-ins. No more are the days of hacking shared files, fearing the wrath of unforeseen discrepancies when updating to the newest version of phpBB2. Now everything is centralized in a nice, logical division of files.
I started off my modding-spree by exploring the admin control panel, where I found the ability to add new modules with a juicy ui. Click a few buttons, copy a few files, and we now have the Teams user control panel (ucp) category with two modules based on the Usergroups category. Nice.
I'm a huge fan of making things very natural to use, and AJAX helps me achieve that. AJAX is great for allowing a static, client-side interface to interact and update itself with dynamic, server-side information.
Let's consider the team page. When you click the "Teams" tab, it will present you with a few options. If you are not already a member of team, it should allow you to create a new team and also see a listing of all existing teams so you may join one of them. Otherwise, it should present you with information specific to your team (members, avatar, description) and the team listing should be then accessible as a separate module to the Teams category.
AJAX comes very handy here for a few things. When creating the team it is nice to provide natural form validation in the form of javascript and AJAX. After the user has typed in their team's name they may click a button which ensures that it is unique before they go on to creating the actual team. Fewer clicks == happier user. We can also provide some mechanism for searching the list of teams. By adding a search box which filters teams by name in real time, we can avoid the hassle of browsing a long list of team names. As a final possible feature, editing your team's information could be done as a standalone operation, allowing the user to quickly edit their team's info without navigating through multiple pages.
Enough talk, let's look at some code.
The ajax system is set up like so:
ajax/
classes/
Request.php
request/
DoRequest.php
TeamNameExistence.php
...
requests.php
Here's some source code...
requests.php
This file is going to define all of the constants we'll use to refer to the possible AJAX requests we can execute.
Request.php
This class defines the basic features we are going to use with our AJAX engine on the site. Pretty simple, really.
Now to actually execute our AJAX request we have DoRequest.php
This does the server-side magic of validation and request retrieval. As we add more AJAX requests we'll have to update this file along with the requests.php file.
Here's the single request that we have so far, TeamNameExistence.
So that's the basics of the AJAX that we'll be working with.
At this point it is possible to create a team and validate that a team's name is unique via AJAX. Check it out in the UCP.
When I was younger we had a friend of the family living with us who would make amazing meals on a regular basis. Often I would peruse my way in to the kitchen while this mysterious process was taking place and ask "what're you making?"
"The Good Stuff." He'd reply.
And it really was. The things he made didn't really have names, they were just "The Good Stuff," and that was all that needed to be said.
After the spamming incident with the phpBB software last year it was obvious that we needed a change of scenery. With a lot of the competition mod code residing in the phpBB framework, the desire to revamp the system in different forum software was a tad unappealing and, as unappealing tasks tend to go, nothing was done about it.
But now, yes, now we have what we need. Today the phpBB software group has just announced the Gold Candidate release of phpBB3, and let me tell you, it is The Good Stuff.
Let's talk history.
The original 72 Hour GDC message boards existed thanks to the phpBB engine. At the time of its inception, the boards worked quite well as a means of conversation and organization for all of the participants, but something was lacking.
Consider that the first few competitions were orchestrated entirely by hand. At the end of each competition, Brian (the founder of the competitions) would receive all of the judging information and tally it up. The winner was then announced on whatever happened to be the medium of discussion at the time. Sadly, a simple system such as this was bound by the constraints of free time and will, and as the competitions grew, the judging process became ludicrously long.
Let's jump to 2005, when I first threw together the automated competition mod for phpBB over a three week period in the summer after high school. This system worked amazingly well for numerous competitions, allowing team registration, competition planning, judging, and even automatically announced winners. It had its problems, but it's safe to say that, for the most part, it was an improvement over the by-hand method.
And then the spam came.
Oh, the spam. Quite the dreary day it was when we realized that the phpBB software was horribly flawed. Some time around the point where the number of spammers exceeded the number of users, it was decided that the forums needed to be put down. After that, hype for the competitions slowly dwindled as fewer people returned to the locked forums.
So now, here we are, a little over one year since the last competition, and I'm finally sitting down to put it all back together again. This time, however, I'm prepared. Prepared to the point of comparison to the amount of preparation by Neo before the lobby scene.
Yes, this is going down, and it is going down hard.
The message board isĀ installed, WordPress is warming up, and there's an entire Christmas holiday ahead to get this baby up and running. Let's rock and roll.
The official 72 Hour Game Development Competition blog.