Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Levels #91

Open
tannn opened this issue Nov 13, 2013 · 15 comments
Open

Levels #91

tannn opened this issue Nov 13, 2013 · 15 comments

Comments

@tannn
Copy link
Owner

tannn commented Nov 13, 2013

Next feature to implement: levels.

Move up a level after a certain number of points have been reached, or after a certain number of questions have been answered? Also consider: increase streak multiplier as you level up? How many points/% should a player be awarded?

@csssuf
Copy link
Contributor

csssuf commented Nov 13, 2013

I think points is probably a better measure for leveling up; maybe level up starting at 100,000 points and have the threshold increase with your level?

@tannn
Copy link
Owner Author

tannn commented Nov 13, 2013

Possible level names and point value, based on cloaks, but you don't have to stick to this. I'm thinking of around 20 different levels, then you would prestige (start over again).

elite – over 4 million points required
addicted – over 3 million points required
distinguished– over 2.5 million points required
genius – over 2 million points required
master– over 1.5 million points required
player– over 1 million points required
student – over 500,000 points required
guesser – over 100,000 points required

It may be best for there to be a min. point and a min. question requirement for each level.

@csssuf
Copy link
Contributor

csssuf commented Nov 13, 2013

Hm, that's a possibility. Not sure if that's completely necessary though, I think one or the other is probably sufficient.

@tannn
Copy link
Owner Author

tannn commented Nov 13, 2013

The only reason for the minimum question count is due to points gained from:

  • badges
  • other level ups
  • KAOS bonus
  • points manually added by an admin

It could be technically possible for a user who has answered less questions to level up faster than someone who hasn't although it wouldn't be as likely.

Now that I list it all out, I agree with @csssuf. I think it makes more sense to level up based upon questions answered only for now. That would work out better.

@csssuf
Copy link
Contributor

csssuf commented Nov 13, 2013

How will KAOS questions be counted towards leveling up? One KAOS answer is one question, or getting at least one answer on a KAOS question is one question? I think the latter is probably better.

@tannn
Copy link
Owner Author

tannn commented Nov 13, 2013

Currently KAOS don't count into your total questions answered. I think either that or your idea with just one per KAOS would be fine.

Assigned to csssuf

@tannn
Copy link
Owner Author

tannn commented Nov 17, 2013

@csssuf how's the progress going on this?

@csssuf
Copy link
Contributor

csssuf commented Nov 17, 2013

Been busy with school; I can't take a look at this tonight, but I will get started tomorrow.

@tannn
Copy link
Owner Author

tannn commented Nov 17, 2013

That's fine, there's no rush - just wanted to see what your plan was.

@csssuf
Copy link
Contributor

csssuf commented Nov 17, 2013

Basically I have two thoughts as how to do this:

  1. Add a column to the DB tracking a user's level; on each question correctly answered, check if they need to have their level incremented and announce it if so.
  2. Calculate a user's level at runtime based on their number of points.

Thoughts on which would be better? It's basically a tradeoff of disk vs. CPU.

@tannn
Copy link
Owner Author

tannn commented Nov 17, 2013

I think the first idea would turn out better, as it would be instant.

@tannn
Copy link
Owner Author

tannn commented Dec 3, 2013

@csssuf Do you think you'll be able to complete this project by the end of the month? I know you probably have finals coming up but do you plan on working on it during winter break?

@csssuf
Copy link
Contributor

csssuf commented Dec 3, 2013

I have to see how my workload takes shape over the next couple of weeks, but I should be able to get this done by the end of the month.

@tannn
Copy link
Owner Author

tannn commented Dec 28, 2013

Any updates to this? :P

@tannn tannn removed the assigned label Jun 4, 2014
@tannn tannn self-assigned this Aug 27, 2014
@tannn
Copy link
Owner Author

tannn commented Aug 27, 2014

Here's what I'm thinking:
First level starts at 1 question. This level in named noob. Other level names/stats coming soon.

This uses lifetime questions. I'm not sure how this is stored in the database currently.

Original proposal on how to do this:
Add a column to the DB tracking a user's level; on each question correctly answered, check if they need to have their level incremented and announce it if so.

Two functions:

checkLevel(username):
get user questions
if user level == none:
call changelevel
obtain the user's level. if they have enough questions for the next level, call changelevel

changeLevel(username):
get user questions
assign level to used based upon questions
announce this in the channel

@tannn tannn modified the milestone: TriviaTime 2.0 Nov 29, 2014
brrr2 added a commit to brrr2/TriviaTime that referenced this issue Jan 18, 2015
- Updated table definition for trivialevel
- Added methods for DB interaction with trivialevel table
tannn pushed a commit that referenced this issue Jan 19, 2015
brrr2 added a commit to brrr2/TriviaTime that referenced this issue Feb 7, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants