Giter Club home page Giter Club logo

gb-wordle's People

Contributors

nezza avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gb-wordle's Issues

[Suggestion] Color palettes (GBC or Super Game Boy)

Game Boy-compatible games (like every pokemon game prior to Crystal) can use specific color palettes in a Super Game Boy or Game Boy Color.

It would be nice to use that to render yellow and green squares.

Some nonsense words allowed

It allows me to submit certain nonsense words. Sidenote, l can't think of any word this could possibly be:
Screenshot_20220208-081725

Further testing, this is practically non-functional as a game.
Screenshot_20220208-085320
There's no win state. I got the word and it allowed me to keep guessing ultimately telling me I failed. Also THAMA is not an (English) word. Is this using an English dictionary?

Screenshot_20220208-084945
Screenshot_20220208-084337
Screenshot_20220208-082511
It showed RAINK as correct.

Trying to compile for translation

Hey, Great project!
I find a little hard to play in English, so I would like to make a quick translation to Spanish.

I'm finding some errors when running Make. I'm using gbdk-4.0.6 on Windows 10 x64 and tryied with Ubuntu as well.

Before sharing the specific errors, could you share the recommended environment to start from there? Thanks!

Buggy hints

Here's an example that doesn't seem to make much sense to me. Or maybe the rules are different compared to standard Wordle?

Screenshot_20220220-151332332

Could you maybe also add the color mapping to the readme?

Multiplayer functionality

Much of the fun of wordle is playing the same word as someone else so you can compare solutions. I realize that multiplayer via the link cable (in order to synchronize which word is played) may be a big request. But other solutions exist, such as simply requesting a puzzle number (which could just be the word in position X of the word list) or requesting that the user input the date and then giving the same puzzle based on the date.

Bigger word lists

You could look into banking and compression.
Also don’t use strings in your word list, strings end with \0, so each word takes up 6B and 16% of the space is basically wasted.

MBC5 can have 512 banks (at least one is for your code) á 16KiB of which GBDK-2020 can address 255 with it’s functions. 256 banks are still 4MiB.

So you can fit > 1.67 million 5 char words in your list. But you also have to manage and find them. Or > 835 thousand 5 char words when you are limited to GBDK-2020’s capabilities.

TLDR: just do 0x00-0x29 for A-Z, 0x2A-0x7F for Digram Encoding, 0x80 to flag the end of it

Another trick would be to not use ASCII, it has 128 characters, but you actually just need use a-z (26 characters). You could for example use a different encoding where youcan fit two of the 15 most frequent charaters in one byte. The most frequent characters seem to be: (maybe easier to implement than digram encoding)

  • 0: the other 11 characters in the second part of the byte, or <empty> if F is the second part or <null> if 0x00

  • 1: E

  • 2: T

  • 3: A

  • 4: O

  • 5: N

  • 6: I

  • 7: H

  • 8: S

  • 9: R

  • A: L

  • B: D

  • C: U

  • D: C

  • E: M

  • F: W

  • 00:

  • 01: Y

  • 02: F

  • 03: G

  • 04: P

  • 05: B

  • 06: V

  • 07: K

  • 08: J

  • 09: X

  • 0A: Q

  • 0B: Z

This has to end with 0x00 again since this coding has a variable length. So we need some form of delimiter again. Pro of this is, that you can use the C string functions.

“WORLD” is 0xF4, 0x9A, 0xB0, 0x00
“RUGBY” is 0x9C, 0x03, 0x05, 0x01, 0x00
“FRANK” is 0x02, 0x93, 0x50, 0x07, 0x00

Digram Encoding is likely better, but that also needs some form of delimiter. Custom encoding + some form of compression is also possible.
Just Digram Encoding might always gain. With 2B references It could have 3B to 5B, because you would just use the plain string in the worst case. So it’s probably not worth it.

Another encoding is to use one bit (&0x80) for marking the end and just replacing parts of ASCII you don’t need with most common digraphs/digrams:
(er, ti, ar, ou, or, le, th as 01, 02, 03, 04, 05, 06, 07)
“OTHER” is 0x4F, 0x07, 0x81
“MOUTH” is 0x4D, 0x04, 0x87,
“ORDER” is 0x05, 0x44, 0x81
“UNCLE” is 0x55, 0x4E, 0x43, 0x86
“VOICE” is 0x56, 0x4F, 0x49, 0x43, 0xC5

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.