Skip to content

Game

The Game entity represents a title listed on the Ludilol marketplace. Every game is published by a maker and can have multiple versions, reviews, tags, and localizations.

Properties

PropertyTypeDescription
IdintPrimary key
TitlestringDisplay name of the game
SlugstringURL-safe identifier derived from the title
DescriptionstringShort description shown in listings
PriceUsddecimalReference price in USD (informational)
IsHtmlGameboolWhether this game can be played in-browser
BlobNamestring?Azure Blob Storage key for the game archive
OriginalFileNamestring?The filename as uploaded by the maker
HtmlEntryFileNamestring?Entry HTML file inside the zip (e.g. index.html)
PublishedVersionIdint?FK → the currently live GameVersion
PublishedDemoVersionIdint?FK → an optional demo GameVersion
PublisherIdintFK → the AppUser who created the game
IsFeaturedboolWhether the game appears in the featured carousel
IsBlockedboolWhether the game has been blocked by moderation
CreatedAtUtcDateTimeWhen the game record was created
UpdatedAtUtcDateTimeLast modification timestamp

Computed Aggregates

These fields are recalculated when reviews, favorites, or tags change:

FieldDescription
ReviewCountTotal number of reviews
RecentReviewCountReviews in the last 30 days
LifetimeRatingAverageAverage rating across all reviews (1–5)
RecentRatingAverageAverage rating of recent reviews
FavoriteCountNumber of users who favorited this game
TopTagsJsonJSON array of the most-voted community tags

Relationships

Game (1) ──── (N) GameVersion
Game (1) ──── (N) GameReview
Game (1) ──── (N) GameFavorite
Game (1) ──── (N) GameTag
Game (1) ──── (N) GameLocalization
Game (1) ──── (0..1) GameVersion  (published)
Game (1) ──── (0..1) GameVersion  (demo)
Game (N) ──── StorePageGame ──── (N) StorePage
Game (1) ──── (1) AppUser        (publisher)

Lifecycle

  1. A maker creates a game (costs 100 credits).
  2. The maker uploads a version — the zip enters quarantine.
  3. After the scan passes, the version can be published.
  4. The game can then be added to a Store Page for sale.

Moderation

Backoffice admins can block a game (with author + public messages) or feature it on the storefront carousel. Blocked games are hidden from all store pages.

Sell indie games for Bitcoin.