Skip to content

Instantly share code, notes, and snippets.

@TrueBrain
Last active February 18, 2023 19:57
Show Gist options
  • Save TrueBrain/8d0f41a905eb54db4b3a1be8faa9c562 to your computer and use it in GitHub Desktop.
Save TrueBrain/8d0f41a905eb54db4b3a1be8faa9c562 to your computer and use it in GitHub Desktop.
Content Service Roadmap

Step 1

We add a dict classification to each versions entry on BaNaNaS. Depending on the content-type this can have several entries. For example, NewGRF has set-type, palette, resolution, etc. An AI has builds-trains, builds-roadveh, etc.

Each entry has an enum value assigned to it. For set-type this is for example train, air, or landscape. For builds-trains it is yes or no.

Classifications are always done automatically, and cannot be changed by the author.

We remove all tags from all entries.

To clients we send the classification as tags (for now). It depends a bit on the classification how we send this. For example, a NewGRF can have the classification set-type: train. The train part is sent as tag to the client. But for a yes/no, we send the key (for example, builds-trains).

On our website we show these classifications as filters on the top. Via dropdowns, a selection can be made what interests the user.

Next steps

  • Extend protocol to add classifications with key/value, so they can be filtered properly too. And I mean the normal definition of filter here, with dropdowns. Not "we call it filter but it is actually a search" :P
  • Retain the BaNaNaS information after download.
  • Remove description, url and other large fields from the initial burst of information send to clients, and request that information on-demand.
  • Add PNG support to content, to show&tell (also, on-demand).
  • Opt-in survey to track content usage.
  • Rework the in-game GUI to better work with this information.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment