Tournament Module

Events happening in the community are now at Drupal community events on www.drupal.org.
sugardave@drupal.org's picture

I was thinking of setting up a small site similar to Game Battles or GGL to allow clans in online games to set up challenges and be able to create ladders, brackets, etc. I have tried to use Organic Groups, but it's a little unwieldy. Basically, I want to be able to create a team and then multiple rosters as "children" of the team. As part of my learning experience, I've decided to try my hand at creating a simple framework with the very basic functionality of a team/roster management system. Any thoughts about other options, or any interest in this module at all?

Comments

I recently did something

Garrett Albright's picture

I recently did something conceptually similar, where I had parent and children nodes and wanted to keep them related easily. The path I took was to create a vocabulary for linking parents and children and remembering that vocab ID with a variable. The taxonomy field is removed from the parent node creation form, though. When a new parent node is saved, a new taxonomy term with the same name as that node is programmatically created, and the parent node is assigned to it. That way, when children nodes are created, they'll see terms corresponding to all of the parent nodes in its taxonomy select field, and can easily be linked to one or more parents that way.

Hope that makes sense…

It sort of makes sense.

sugardave@drupal.org's picture

It sort of makes sense. Taxonomy is something I'm also still working out how to use effectively.

I was planning on making a Tournament vocabulary. Then, terms would be created for each game the tournament site supports. Right now I'm just doing the basic one team model while I figure out how to write the module (and other things) so the team content type requires a term from the Tournament vocabulary. I'm envisioning something like:

a team can belong to multiple terms
a roster can only belong to one of the terms the team already belongs to

I'm also interested in a

derhasi's picture

I'm also interested in a module of this type. For me it was important for multiple types of sport (e.g. Soccer, Kart Racing,...), so it had to deal with a lot of different types of data and data manipulation. So I thought of a database based structure for saving and deriving data.
My thoughts have a lot to do with deriving and evaluating data, giving the opportunity to extend functionality with custom rules and datatypes. So I would use CCK as input for data and Views as output for results and ladders.
What I have in mind is a really big module with (at my current plans) 10 database tables, cck and views 2 integration. It was a big framework for Tournament and Championship handling. But this plan only exists on paper and isn't realized in parts of code.

If you are interested in a big project, this was a great challenge ;)

If you like more information about my plans, just ask for it. But for the moment I've to got to bed ;)

I am definitely trying to

sugardave@drupal.org's picture

I am definitely trying to keep it generic enough for multiple applications/sports/games/etc. I'm still very early in the project as far as playing with ideas and whatnot, so anything creative along these lines would be very useful for me to look at. I also have been thinking about how to implement different rules for different types of participation.

Right now I just have the database tables: team and team_uid. The next step I want to work on is the invite system and its management. After that, I have enough to model how it will all work out.

My first planned expansion of the system would be to add roster functionality to allow members from Team A to be on Team B's roster for a particular game.

5 Second Game

aaron's picture

Morbus & I have been developing an engine for a similar system, 5 Second Game. Might want to have a look.

Aaron Winborn
Drupal Multimedia (my book, coming in September!)
AaronWinborn.com (my blog, all about Drupal)
Advomatic (my work)

Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic

Cool

sugardave@drupal.org's picture

This looks pretty fun, too! Thanks for pointing it out.

My thoughts were mainly bout

derhasi's picture

My thoughts were mainly bout managing the data input, building result data and additional information.

My main items were:

  • Championship
    • A set of events, with championship specific rules for charts and single event results
    • identified by CHid
  • Competition
    • A single event, can be assigned to a championship. Can have its own rules.
    • identified by CNid
  • Competitor
    • Competitor is a abstract element and can either be a human person or a team - depends on the matter of details
    • a competitor can be assigned to multiple teams and multiple groups
    • identified by CRid for a single event, identified/profiled by nodeID
  • Competitor Data
    • a set of data describing the competitors performance
    • e.g. scored goals and given penalties (e.g. "Competitor XY headed goal in minute 34")
    • identified by CNid, CRid and offset
  • Team
    • a team wich participates in the actual event
    • does not perform actions itself/does not have competition data
    • results for a team are only generated/derived via the competition data of the competitors
    • e.g. player X of team C scored in min 34, player Y of team C scored in min 75 => 2 goals for team C
    • identified by CTid, identification for profile can be set by nodeid or teamname
    • extra db-table for assigning CRid to C
  • Classification
    • competitors can be assigned to different Classifications, like Vehicle-Type in racing or age-groupings in youth sport
    • identified by CCid
  • Rules
    • serilialized functions (php-functions, mysql-functions, sorting functions) that manage different aspects of deriving information
    • use data of championship, competition, competitor, teams, classification, and specially Competition Data to derive information, that is used to generate result and statistics
    • different types: data for competitor or team in single event or championship (single result chart => team championship standings)
  • Derived Data
    • derived data for competitors and teams by rules
    • this data will be used to list results

This is more a result managing system than a tournament system.

I've in mind to use especially CCK and Views to

  • CCK: different fields to enter competitors' data
  • Views: presenting results

I'd like to know if this was a roject you would take participation in.

Any progress

jwmarck's picture

I am making a drupal site four Ultimate frisbee tournament. Have you made a usable module?

JW

I allready started, but

derhasi's picture

I allready started, but rearranged the module structure. So there is no module till know. I hope to do some work on it this week.
If oyu want to help coding, it was nice you would contact me.

Any progress?

Chris Charlton's picture

This module can be useful for local sports and other challenge type games/sites. Any progress or still just an idea?

Chris Charlton, Author & Drupal Community Leader, Enterprise Level Consultant

I teach you how to build Drupal Themes http://tinyurl.com/theme-drupal and provide add-on software at http://xtnd.us

At this point...

sugardave@drupal.org's picture

still just an idea. I have been unable to get back to my sandbox and play as real life has stepped in my path in a big way.

I'd love to have this

janis_lv's picture

I'd love to have this module.
To be able to create teams (captain can add users to the team), then create championships, competitions.
:]

something new

Yémokô mbK's picture

Hi everybody,

Is there something new?

Best

Contributed Module Ideas

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week