Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

What Exactly Is Karma & Coolness in Gamejams

A topic by Notenlish created Aug 23, 2024 Views: 408 Replies: 3
Viewing posts 1 to 2

Hello, I have a small site to scrape jam game data and display to people. I use the "entries.json" that itch.io uses when rendering jam game entries. I have a question to ask:


https://itch.io/t/527869/karma-system-for-the-game-jams 

In this post it was said that karma system was currently given - received. Is this still true? 

Also, in the entries.json file, there's a "coolness" rating for each game. My 2nd question is this: Is the coolness value equal to karma, or is it coolness - received ratings(or something entirely different)


Currently I show the coolness value as "karma" but I wouldn't want to misinform people so I'm asking here

Admin (3 edits)

Coolness and “karma” are slightly different.

coolness = votes_given
karma = log(1 + coolness) - (log(1 + votes_received) / log(5))

Coolness is exposed in the API as you noticed. Karma is calculated on the client for final sorting.

Edited to fix coolness formula pointed out in comment below

(9 edits)

Hello, I have a small question to ask. Is "coolness" as exposed in the api for entries.json actually just votes given?

Because a user of my site told me that his coolness was actually the same as his votes given.
I did the calculation on it. His game is: https://itch.io/jam/gmtk-2024/rate/2896675 

In api it currently gives it 82 for coolness, and 38 for rating count. If we take coolness as the actual coolness value and reverse the formula to get votes_given we get 3826 which is simply not humanly possible unless they give each game like 1 minutes or make a spam bot.

I feel like "coolness" in the api is actually votes_given, am I wrong?

Is this a naming mistake in the api?

Edit: I took a look at the minimized client side code. It seems that its taking coolness attribute straight from the entries.json without changing it. I think I'll calculate karma like how itch calculates it and then show the "coolness" attribute taken from api as votes_given.(that is, if there is an naming mistake in the api for entries.json)

the code that I found:

I.karma_score = function(u) {
    var p, l;
    return p = u.coolness || 0,
    l = u.rating_count || 0,
    Math.log(1 + p) - Math.log(1 + l) / Math.log(5)
}

Admin

I feel like “coolness” in the api is actually votes_given, am I wrong?

That’s correct, I was looking at an older code path before we introduced the karma sort. Coolness is currently set to max(votes_given - disqualified_votes) of each contributor related to the project