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

Create a New Format for Ducks #38

Closed
14 tasks
William-McGonagle opened this issue Dec 26, 2021 · 1 comment
Closed
14 tasks

Create a New Format for Ducks #38

William-McGonagle opened this issue Dec 26, 2021 · 1 comment
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@William-McGonagle
Copy link
Member

William-McGonagle commented Dec 26, 2021

Idea

Currently, the duck system is a little stupid. I designed it so that it would work well with a low number of items, but I have started to realize that people want more and more things to choose from. That is why I have to rebuild the duck system from the ground up.

  1. To do this, I need to first create a new storage format for the duck information, that will be pretty easy, I just need to figure out how it will look. Information about that will be in this issue.

  2. From there, I need to build a parser to interpret the storage format. Information about how the parser is going to work will be in this issue.

  3. After that, I want all of the duck items to be stored in a very simple way. For this, I am thinking maybe to do a server or just read from the file system directly. I am not quite sure yet, but information about that will be in this issue.

  4. And finally, I need to build a system for generating the final duck SVG from the duck items (Todo 3) and the duck storage format (Todo 4). Information about the duck SVG generation system will be in this issue.

Todo

  • General
    • Build Basic SVG Parser
    • Build Duck Format Parser
    • Build a System for Generating Duck SVG
    • Figure Out How to Store the Duck Items
  • Testing
    • SVG Library Testing
    • GET /duck
    • GET /duck/:id
    • GET /duck/:id/:zoom
  • Endpoints
    • GET /duck
    • GET /duck/:id
    • GET /duck/:id/:zoom
@William-McGonagle
Copy link
Member Author

William-McGonagle commented Dec 26, 2021

Intro

Okay, so the current plan for the duck format is that the numbers will all be in hexadecimal. From there, the first number will always be the version. The following diagram will describe version 1 of the duck storage format.

Format

1A4B37322633B2C32

1 - The version number
A4 - The duck's hat (Item #164)
B3 - The duck's eyes (Item #179)
73 - The duck's beak (Item #115)
22 - The duck's wings (Item #34)
63 - The duck's smoke (Item #99)
3B - The duck's tail (The tail is the SVG for the entire body) (Item #54)
2C - The duck's item (Item #44)
3 - Beak Color (Red)
2 - Feather Color (Yellow)

Extra

Colors

0 - Black
1 - White
2 - Yellow
3 - Red
4 - Blue
5 - Brown
6 - Rainbow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
No open projects
Status: Done
Development

No branches or pull requests

1 participant