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

"All The Words That I Know" game #204

Closed
3 of 21 tasks
xenotropic opened this issue Oct 22, 2019 · 13 comments
Closed
3 of 21 tasks

"All The Words That I Know" game #204

xenotropic opened this issue Oct 22, 2019 · 13 comments
Labels
Beginner Simple projects that can be done by people relatively new to programming. Little work This project takes little time to complete. (ETA couple of days) Web app Applications on the web. Perhaps with React? Or Vue? Or Angular?

Comments

@xenotropic
Copy link

Project description

This is based on a facebook post by author-editor Nathan J. Robinson, relevant extracts below:

In order to relax I am writing a document called All The Words I Know (In The Order I Think Of Them), in which I try to list every word I know . . . It gets harder and harder as you go on of course and realize that you've already used lots of words. I realize this may be a strange way to unwind but people do sudoku and stuff and this doesn't feel much different to me . . . . it gets harder and harder to find ones you haven't used . . . . i bet one could write a simple program that would turn duplicates red or something if one knew how to do such things.

Your mission, should you choose to accept it, is to create such a simple program. I think a simple webpage with javascript would do it.

Relevant Technology

Plain vanilla HTML+ javascript would probably be fine, but libraries might make it prettier. Someone ambitious could make it fancy with accounts, saving your file, a leaderboard, and suchlike.

Complexity

  • Beginner - This project requires no or little prior knowledge of the technolog(y|ies) specified to contribute to the project
  • Intermediate - The user should have some prior knowledge of the technolog(y|ies) to the point where they know how to use it, but not necessarily all the nooks and crannies of the technology
  • Advanced - The project requires the user to have a good understanding of all components of the project to contribute

Required time (ETA)

  • Little work - A couple of days
  • Medium work - A week or two
  • Much work - The project will take more than a couple of weeks and serious planning is required

Categories

  • Mobile app
  • IoT
  • Web app
  • Frontend/UI
  • AI/ML
  • APIs/Backend
  • Voice Assistant
  • Developer Tooling
  • Extension/Plugin/Add-On
  • Design/UX
  • AR/VR
  • Bots
  • Security
  • Blockchain
  • Futuristic Tech/Something Unique
@FredrikAugust FredrikAugust added Beginner Simple projects that can be done by people relatively new to programming. Little work This project takes little time to complete. (ETA couple of days) Web app Applications on the web. Perhaps with React? Or Vue? Or Angular? labels Oct 28, 2019
@YaMo97
Copy link

YaMo97 commented Oct 29, 2019

This could be a nice simple game. Some similar games are Scramble, Hangaroo, Jumble words, etc.

Talking about the technical aspect of this game, we can use a Tree Data Structure to store the inputs of the user, which makes it easier and optimal to check for duplicates with linear complexity (O(n)), similar to bucket sorting.

This could be also made a Mobile Game, with a decent childish UI and UX with vibration and cheerful sounds. This could also be targeted towards kids, making it good for learning.

And to make it addictive we can introduce scoring according to word length and a leaderboard.
Additionally, some Google Play Achievements would make it even more addictive, thus increasing the retention rate.

Later, advertisements could be introduced, make it sustainable and pay server and maintenance costs with the earnings.

@YaMo97
Copy link

YaMo97 commented Oct 29, 2019

Moreover, we can introduce a timer, to make it more challenging, which when runs out resets the score to 0.

@fossguy
Copy link

fossguy commented Nov 1, 2019

@YaMo97 Great ideas about enhancements to a nice simple game like this one.

I just want to touch on one point you made earlier:

Talking about the technical aspect of this game, we can use a Tree Data Structure to store the inputs of the user, which makes it easier and optimal to check for duplicates with linear complexity (O(n)), similar to bucket sorting.

I don't think we need to store the words that have been entered into a Tree and perform sorting/searching algorithms or the like. I think a Set would suffice and would allow for O(1) look ups for looking at words already in the Set (the data structure inherently does not allow insertion of duplicates.)

I've mocked up an initial concept here.

This initial concept obviously makes assumptions on several requirements and doesn't do any validations.

Hope this helps; looking forward to what you (or anyone else) creates!

@TheSameerAli
Copy link

TheSameerAli commented Nov 6, 2019

Sounds interesting. I'll set up an initial GitHub repo mock (with some implementation) this weekend and see where we can go from there. Can be a cool side-project and keep adding features in.

Can I get a cool name suggestion for this game? :D

@TheSameerAli
Copy link

I've started some initial work on this but still under setup/mvp dev phase. Will update with some more info in a week or so but feel free to check it out and provide feedback.

@amritghimire
Copy link

I have created a preliminary app at @amritghimire/word-game and deployed it at https://word-game.amritghimire.now.sh/ . I am working on validating the words currently.

@TheSameerAli
Copy link

Hey, I've created an initial MVP and deployed up here: https://thewordsiknow.sameerali941.now.sh/ - Do check it out. I'll be adding more features very very soon!! https://github.com/TheSameerAli/TheWordsIKnow - I'll be working to tidy up some contributing and project management process sometime tomorrow so feel free to go through issues and contribute if you like!

@amritghimire - Great start, check mine out too! Want to contribute on mine? I've roughly implemented word verification too so check it out and feel free to use it as inspiration!

@AmruthPillai
Copy link

Here's my submission to this awesome Open Source Idea:
https://github.com/AmruthPillai/All-The-Words-That-I-Know

I have tried to implement multiple difficulty levels as well, with Easy, Medium and Hard, where the hard difficulty level would expect you to enter at least an 8 letter word and gives you only 60 seconds to do so.

You can play the game here: https://pillai.xyz/word-game

@FredrikAugust
Copy link
Collaborator

Wow! Great work @AmruthPillai <3 Looks and feels wonderful! @xenotropic, would you say that your wish has been fulfilled?

@xenotropic
Copy link
Author

Definitely.

@FredrikAugust
Copy link
Collaborator

Hurrah! Another completed project :)

@FredrikAugust
Copy link
Collaborator

FredrikAugust commented Mar 23, 2020

Added the project to the completed hall of fame in the README! Thank you to @xenotropic for the suggestion, @AmruthPillai for the final product, and @TheSameerAli and @amritghimire for great attempts!

Good job everyone!

@xenotropic
Copy link
Author

Hey @TheSameerAli is the code for yours still available? The repo you linked is gone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Beginner Simple projects that can be done by people relatively new to programming. Little work This project takes little time to complete. (ETA couple of days) Web app Applications on the web. Perhaps with React? Or Vue? Or Angular?
Projects
None yet
Development

No branches or pull requests

7 participants