Currently Online

Latest Posts

Topic: game scheduling module

trimard
Avatar
Topic Opener
Joined: 2009-03-05, 22:40
Posts: 230
Ranking
Widelands-Forum-Junkie
Location: Paris
Posted at: 2017-08-08, 20:31

I would really like to add a simple tool to help schedulde games between players. The idea would be as follow.

On the same page: First you pick a few dates where you know you'll be available. Then you select when you'll be available at these day. Then you are proposed a selection of other player ready on those dates. And you can go and mp them.

You can of course revisit the page later and it will automatically update the players available if needed.

I have a few questions though:

  • Any remark in regard to the concept?
  • Where in the menu should I add this option? How should it be named? "Schedule a match"?
  • Am I allowed to add some dependency for the date picker?
  • Should i create a whole new module or should I just add on file in the global template folder?

Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 20:48
Posts: 2433
OS: Archlinux
Version: current master
Ranking
One Elder of Players
Location: Germany
Posted at: 2017-08-08, 21:37

I think this is good idea having something similar like doodle with special adjustments to our needs face-smile.png

  • Any remark in regard to the concept?

No

  • Where in the menu should I add this option? How should it be named? "Schedule a match"?

"Schedule a match" is good, imho. Placing it in the menu is a task if you are ready with the general project. I have some ideas for the menu, especially for a responsive template (showing the page in regard to smaller viewports like smartphones or tablets). But this is far away...

  • Am I allowed to add some dependency for the date picker?

As long they are free (OSS) there is no restriction in adding dependencies. AFAIK django has also some sort of date picker. I currently don't know if they could be used also for your idea or how they are implemented. In general third party dependencies have always the trouble of maintaining them (e.g. updating).

  • Should i create a whole new module or should I just add on file in the global template folder?

I guess you need to store some values into the database. E.g. which user want to play at which date at which time. So a new module would be the best.


Fight simulator for Widelands:
https://wide-fighter.netlify.app/

Top Quote
WorldSavior
Avatar
Joined: 2016-10-15, 04:10
Posts: 2091
OS: Linux
Version: Recent tournament version
Ranking
One Elder of Players
Location: Germany
Posted at: 2017-08-08, 22:11

trimard wrote:

  • Any remark in regard to the concept?

Well, this page can also do the job, and more things: https://dudle.inf.tu-dresden.de/


Wanted to save the world, then I got widetracked

Top Quote
king_of_nowhere
Avatar
Joined: 2014-09-15, 18:35
Posts: 1668
Ranking
One Elder of Players
Posted at: 2017-08-08, 22:31

there have been talks of something like this, but nobody every actually did it


Top Quote
trimard
Avatar
Topic Opener
Joined: 2009-03-05, 22:40
Posts: 230
Ranking
Widelands-Forum-Junkie
Location: Paris
Posted at: 2017-08-08, 22:42

Thanks for the informations!

I have some ideas for the menu, especially for a responsive template (showing the page in regard to smaller viewports like smartphones or tablets). But this is far away...

Oh yeah that would be a great idea, I saw that in the bug report. I think it could be done very easily by using some dependencies, like bootstrap, but those are heavy...

AFAIK django has also some sort of date picker.

Neat, I'll look into that!

In general third party dependencies have always the trouble of maintaining them (e.g. updating).

Yes, I understand, to avoid that, is there a place where I should list the dependencies used and the link for the update?

Well, this page can also do the job, and more things: https://dudle.inf.tu-dresden.de/

Oh yes, I use a similar tool pretty often IRL.

The main difference I'm proposing here is that you don't need to know the player before knowing if they are available or not. It's easier to check as everything would be on the same website. Also I think it would become laborious when a lot of player and a lot of date are available. It seems this tools is better for setting one date with a few people you know rather than many dates with many people you don't know. But I never use this specific tool so I might be wrong.


Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 20:48
Posts: 2433
OS: Archlinux
Version: current master
Ranking
One Elder of Players
Location: Germany
Posted at: 2017-08-08, 23:01

The doodle things have one culprit: They are used to find a specific date and time where most people have time to participate.

WorldSavior: How will you make a doodle showing possible play time of players? If one player creates a doodle, how will other players may be informed?


Fight simulator for Widelands:
https://wide-fighter.netlify.app/

Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 20:48
Posts: 2433
OS: Archlinux
Version: current master
Ranking
One Elder of Players
Location: Germany
Posted at: 2017-08-08, 23:10

Yes, I understand, to avoid that, is there a place where I should list the dependencies used and the link for the update?

Mostly those date picker are javascript things which are loaded on demand from external sites. The dependencies i was talking about are all listed in the pip_requirements.txt. I am not sure what your talking about until you say what dependency you want to use face-wink.png


Fight simulator for Widelands:
https://wide-fighter.netlify.app/

Top Quote
trimard
Avatar
Topic Opener
Joined: 2009-03-05, 22:40
Posts: 230
Ranking
Widelands-Forum-Junkie
Location: Paris
Posted at: 2017-08-08, 23:52

I am not sure what your talking about until you say what dependency you want to use face-wink.png

I was talking about this:

The dependencies i was talking about are all listed in the pip_requirements.txt.

So thanks for the answer, didn't know pip could be this practical!


Top Quote
trimard
Avatar
Topic Opener
Joined: 2009-03-05, 22:40
Posts: 230
Ranking
Widelands-Forum-Junkie
Location: Paris
Posted at: 2017-08-09, 19:39

So the main functionnalities are doing ok. The design still need some work face-tongue.png .

http://imgur.com/a/okxi7

Now for the database and view.py steps. I have a question about that. It's not really something I'm used to do. What the best way to store the informations:

I create a disponilities column in the user table or I create a disponibilities table which reference the id of a user? I guess the most ressources will be used when searching for other players and their avaibilities. So I think the best option is the second. But maybe I'm mistaken?


Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 3324
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2017-08-09, 19:49

I think a separate table would be better, since it's not core profile information.

Screenshot looks good, I'd desaturate the red though to reduce the glare. Or maybe pick a different color, since people with red/green color blindness won't be able to see the difference. Or how about giving the available dates a color, and making the other dates empty boxes?


Busy indexing nil values

Top Quote