Lets start serious here, what is it? what does it do? This is more or less the key ingredient to figure out before one can start with some project like this one. So the first thing I basically did here is to sit down, talk with a few people and ask questions around like: "What do you expect from a ladder script?". What does it need to do from a user perspective, and are there other things that come to mind from a site administration perspective.
This is the basic idea of gathering intel on User Experience, and either User Interface design. Since the question "What do you want?", defines the idea on what it needs to do. Simple...
Also user experience and UI is often altered during the progress when something is gone live, so it will probably adapt in the future while development progresses. But that is usually what happends when some tool goes 'live', and then people start to throw in additional ideas, thoughts, questions etc.
But based on the question "What do you want?", we came down (we as in wargrounds and me) to the conclusion to have a ladder script that has the most basic functions as in the following:
- User needs to be able to sign up and create an account
- User needs to create a team
- User needs to recruit people
- The team needs to be shaped and structured (player roles)
- The team needs to have a skirmish with a nother team (eg: Game)
- The team needs to be able to take part of a tournament
- There needs to be a complete ladder (which is defined by different tournaments)
This results into the basic question: who defines the tournaments/ ladders? Answer, the site admins. From some point of view I can think of it that people (eg: the users) might be able to define tournaments by themselves. But thats another side thought which might be addressed in future developments.
But initially, lets start small and take it one step at a time. Since thats usually the thing with tools like these. You can make it as big as you want, but usually it depends on who is using it and how often it is being used. So, if the process isn't fun, it will probably not being used what so ever.
With that in mind, I started to think about what the original combat script did, compared it with elite ladder and started to look around in this cybergame script. And personally, I understand why they made it so complex. However, it shouldn't be that way for a starting project.
This is where I came up with one word: simplicity. And take it from there.
The basic idea behind a ladder is that you have multiple 'objects' connected to eachother that define the complete ladder. With that in mind, I came up with the following simplistic thought:
- Ladder
- Tournament
- Games
- Player
- Team
- TeamPlayers
- Recruitment
these are the basic objects you'll need to make it work. Each object can be as precise as you can (more detailed). However, this is something you would normally not do from a simplistic way of thinking
A player is defined about "who is this guy?", what does he do? What type of games does he play? What kind of gamers rig does he have and so on.
The team is defined by the players. You basically have a description about the team, when it was created, which area they cover (country or an area) etc. This defines the team
Teamplayers connects the players with the team. Also the teamplayers define the role in that specific team they are in. For instance a player can be captain in Team A. But he can be a simple Soldier in Team B etc.
Recruiting is a bit of a different story, since it is not defined by a "who", but it is more a process that takes place. The player asks to be recruited for a specific team, the team then looks into who this player is, what his history is and so on. This just reminds me... I need to have a record of the complete history on the teams he / she joined... I think I already have this. But nevertheless.
The team then accepts or declines the application. This whole process is defined in the recruitment section.
Then you have a game. And the game itself is defined by a couple of different parameters if you like to call it that:
- Which game?
- Type of game? (CTF, DM, COOP etc)
- Rounds
- Win/ Losses
- Scores
- Maps we played
- Teams
- Players
- Date time it takes place
- Server where it takes place
This is where the game gets complicated at some point, since it can go really deep if you like. You could even (if you like), keep track of a complete scoreboard from the end of each round and type it all in there. However... simplicity first... So lets not go there yet.
However, this does lead me with another side track. A game can have more then one round. Also, from what I remember when I was playing in clans is that a game took place on more then one server. First you have Home and then the Guest server. So we could eventually split up the complete game into 2 different objects if we must.
- Games
- Rounds
Where the Game is defined by the rounds, and the rounds is defined by the teams, players, losses, wins and so on. This is originally how selectBf worked also btw... how weird :P
I think I'll stick with the latter idea. Since it makes tracking on whats happening in a game more balls on accurate. And it could also result in to addional statistics like "which maps do we really suck with?"
Thats the cool thing with blogging. You can write things down, come up with ideas while your doing it.
Anyways, it could go both ways, but have the data like map, win, loss etc stored in that object. Since it defines either the game or the round. Its just a matter of perspective and how you would look at it. Ow wait, these are 2 times the same thing yet written down differently... see what I mean ;)
This leads me to the tournament, and the tournament is defined by the games. Simple... The difference is however that the tournament also defines the schedule! So at that point you could say something like the following:
Tournament defined by:
- Team A
- Team B
- Planned Date/Time
- Execution Data/Time
- Game
Where the rest of all the data like loss, win etc is stored in the Game section.
So this leads you with the ladder. The ladder is a collection of tournaments. Thats basically it. However, this leads me with the big question, does a tournament take place in 2 different ladders? I don't think so... At least thats my initial thought behind it. But then again... lets think simplicity here...
Geen opmerkingen:
Een reactie posten