GithubHelp home page GithubHelp logo

dccdiscordbot's Introduction

I'm a fourth year Computer Sciene and Engineering major at UC Davis, with an interest in Software Engineering and Game Development!

  • ๐Ÿš€ Iโ€™m currently working on Yet Another Office-hours Bot (and some games ๐Ÿคซ)
  • ๐Ÿ”ญ Researching on using Deep Reinforcement Learning techniques to solve Rubik's Cubes in a human like manner
  • ๐ŸŒฑ Iโ€™m learning PyTorch and Unity
  • ๐Ÿ‘ฏ Iโ€™m happy to collaborate on pretty much anything
  • ๐Ÿ’ฌ Ask me about Computer Sciene, Physics, Games, Animation, and Puzzles!
  • ๐Ÿ“ซ How to reach me: (username)@(mail service from alphabet).com
  • โšก WCA_id="2013MURU01"

dccdiscordbot's People

Contributors

kaoushikmurugan avatar sarahayu avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

sarahayu

dccdiscordbot's Issues

Set up team relays

In our club meetings, very often do we have to figure out how we'll arrange the head-to-head team relays - having to ask members how fast they are

With the profile system of this bot, we'll be able to arrange members based on their global average and generate balanced teams for relays

Setting up a competition

Some details needed to set up a comp:

  • Events to run: Format, rounds, etc.
  • Competitor list: competitor schema generated for each name listed
  • Order of events to run
  • Generate scrambles

include more as necessary

Competitor info

Off the top of my head, we have a Competitor schema which should include:

  • Competitor name
  • What events they're competing in

Per round in an event:

  • The time for each solve
  • The scramble corresponding to each solve

We can save all this information about a competitor's performance for the event, into their corresponding Profile schema

Generate scrambles

Ideally: use the latest version of tnoodle

When running the program, you can specify:

  • event
  • format (i.e. ao5, bo3)
  • scramble set (how many sets per round)
  • rounds
image

then, inside the .zip file, it generates the following under 3x3x3 Round 1 Scramble Set A.txt

image

What needs to be solved: how to easily run this using the Discord bot; effectively the bot is a frontend for tnoodle. How can we get our bot to talk to tnoodle, and get the scrambles we need

Other solutions:

Leaderboard system

I remember Josh telling me to set the "school" record for blindfolded - I'm currently trailing behind Brandon by about 30 seconds lol. Then it gave me an idea:

I think it would be cool to create a leaderboard system that can show the rankings of Davis students amongst different events (can also be extended to anyone who uses the bot and has a profile in the database).

This is primarily for records set in WCA competitions, but the bot could also hold records for comp sims and other unofficial events we may have.

This would be a fun way for a student to see how they fare against other students - some friendly competition - and also see historical data from previous Davis students in the future (I hope this club continues on after we're gone).

What it could ideally do:

/rankings <event> - creates an embed of the top 5 Davis students of that event. Optionally, we could maybe have it be a leaderboard for anyone register with our bot, and then filter by Davis students.

On this embed, it would show: event as header, ranking as rows, followed by name, record time, date set for columns

/rankings <user> - for the current user, show their rankings for each of the events they have participated in

On this embed, it would show: name as header, events as rows, followed by record time, date set for columns.

Profile info

Save results from each competition into a Profile schema

  • Save competitor's times across sessions i.e. link to a WCA ID -> use their user auth?
  • Tracked stats for each person i.e. global average, when they pr in comp sim
  • User can view all their stats through the Discord frontend / convert database into a full sheet with all stats they can download
  • Input competitor's actual WCA pr's -> have stats comparing comp vs. comp sim performance

Competition: Scrambler System

We could organize a scrambling system during an active comp in the bot, where the bot will display the current scramble to be applied for an active event's round.

Optionally, it could work like CubeTIme - let the bot know which person's cube you're scrambling for, and the bot will know which scramble you should apply on the cube.

This will probably be in another issue, but this could be used in conjunction with the data entry system; when the data entry enters a time, the scrambler system will know to proceed to the next scramble in an active event.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.