Alea Ludum Dare by Vladadamm

[raw]
made by Vladadamm for Ludum Dare 53 (COMPO)

DISCLAIMER / WARNING :

This entry uses Ludum Dare API Calls that aren't available while Ludum Dare is ongoing. So, if you're trying this prior to the Compo's end it won't do anything.

For this same reason, I couldn't test it in proper live conditions. While in theory it should be ok as it worked well in my testing environement, there's still a risk that things don't end up working properly.

Known Issues : - ~~LD API's random function isn't true random and entries with a Smart score above 50 will show up prior to the other. This is something that isn't fixable on my end and would require changes to JammerCore (the software behind the LD website).~~ Fixed in the Web Page. For the Browser extension, it is less of an issue at it only concerns the first few games out of 24. - ~~The Browser Extension/Script doesn't handle well games that don't have a cover image and they'll appear incorrectly.~~ Fixed.

Bug Fixes / Changelog :

~30 minutes after Compo End : Fixed Web Page version always returning the same games (the first few 'random' games from the API aren't actually random and might always be the same, so it's now the 10th one that'll be returned). ~1 hour after Compo End : Fixed Browser Extension/Script not handling games without covers (added a check that if there's no cover set it'll return the "TV fail" picture.

Context

Delivery is a theme that relates heavily with LD, as Ludum Dare initially means "to give a game" in latin and delivering games has always been at the core of Ludum Dare : We've got jammers delivering games to the website at the end of the jam and then Ludum Dare delivers these games to the community through its website.

The filter algorithms that decide which games are shown to the users like Smart, Classic, Danger, etc... are regularly the subject of discussions within the community as some of them have flaws, can be abused or will favor a select few games leading to a huge discrepancy in number of ratings between entries. It's also a part of the website that hasn't seen any additions or major changes in recent years.

So, for this LD, I decided not to make a game but rather to explore new possibilities as to how the Ludum Dare games are being delivered to the community, and I present to you :

logo.png

Through Alea Ludum Dare, I propose a new way to navigate the website : Alea, or "the game of chance".

Combined to Ludum Dare ("to give a game"), the idea behind this is pretty clear : Offering easy access to random Ludum Dare games.

The entry is split in two different & independant parts : 1. A Browser Extension that will enhance the LD Website through a new Alea filter to be shown random games. 2. A Web Page that will simply give you random LD games.

Browser Extension / Script

The Alea Ludum Dare Browser Extension (and its script version) adds an "Alea" (Random) Filter/Sort option to the Ludum Dare website in addition to the usual filters like Smart, Classic, etc...

Once the Alea filter is selected, a random selection of games will be shown. The games can also be rerolled through the "Reroll" button (instead of the More button).

The Alea filter can also be used along 'Category' (Compo/Jam/Extra) filters. For that, you'll have to select a Category first and then switch the 'sorting' to Alea.

Setup (Browser Extension version) :
Browser extension works with Google Chrome or any other browser with a good Manifest V3 compatibility (ie. Google Chrome). It is not compatible with Mozilla Firefox. - Download the browser extension - Load the Extension in your browser. Ie. for Chrome : go to "chrome://extensions/" in the url -> enable Developer Mode -> click on Load unpacked -> select the extension's folder - Open the list of games page on LD's website (https://ldjam.com/games). If you were already on it prior to loading the extension, you might have to refresh the page.

Note : You will have to remove the extension from your browser manually afterwards (unless your browser as a "temporary" extension loading mode which automatically unloads it upon closing browser).
Note 2 : The Extension is set up to use the bug fixed script. If you want to test the compo version, you'll have to replace the content script in manifest.json so it uses alea_content-compo.js.
Note 3 : Difference between bug fixed version & compo one is that games without cover pictures are now handled properly.

Setup (Script version) :
Works with any browser. - Go to the list of games page on LD's website (https://ldjam.com/games) - Open your browser's developer tools (usually F12 hotkey) - Copy/paste the contents of alea_script.js into the console & Execute it. - Click on the Sort Filter dropdown and you'll have the Alea Filter showing up.

Note : If you leave or refresh the page, you'll have to execute the script again for the filter to show back.
Note 2 : alea_script.js is the bug fixed version and alea_script.js the old one.
Note 3 : Difference between bug fixed version & compo one is that games without cover pictures are now handled properly.

How to use : - On the list of games page, click on the Sort Filter dropdown (the one with Smart, Classic, etc... filters) - Select the Alea Filter option and enjoy random games.

Web Page

The Alea Ludum Dare web page offers another way to get random games from this Ludum Dare. It is simpler and doesn't need any kind of setup.

It's a very basic web page, with only category selection and a simple button that will deliver you a single random Ludum Dare game at once.

How To Use : - Open the Alea Ludum Dare web page (https://axelvborn.github.io/AleaLudumDare/) - Choose the category (All, Compo, Jam or Extra) you want to test games from. - Click on the Da Ludum Alea button and a new tab will open with your random game.

Note : You can also download the sources and open index.html to open the web page in local.
Note 2 : The online version is the fixed version. If you want to test the bugged compo version, you'll have to download the sources & edit index.html to use alea_web-compo.js (the original script) then launch it locally.
Note 3 : The difference between both version is that it returns you the 10th random game instead of the 1st one as the first few random games might always be the same due to how LD's random algorithm work.

Ratings

Given 0🗳️ 0🗨️

Feedback

Xwilarg
01. May 2023 · 10:27 UTC
I like the idea, I'll probably use the web page to rate the next games

I tried using the Extension (Chrome), it does make the "Alea" filter on the page but nothing happens when I click on it, I also got these errors on the extension page:

Uncaught (in promise) TypeError: Cannot set properties of undefined (setting 'href')
Error in event handler: TypeError: Cannot read properties of undefined (reading 'match') at chrome-extension://ebkoobaicnahmnioganbkablbpbnnnmp/alea_background.js:3:28

(I think you might also want to opt out from the humor category except if there is something I missed?)
🎤 Vladadamm
01. May 2023 · 12:33 UTC
@xwilarg The error you pointed out is 'normal' and doesn't block the extension from working normally (the error is only happens at times the script shouldn't be triggered anyway).

The first few games might not change with the alea filter as the way the random is coded within the LD API has games with a Smart balance over 50 always showing up first (and early in the rating period there's always quite a few games with high balance), however if you look at games a bit further (ie. around the 10th position) then you should see the chances (it can take 1-2 seconds as it'll 'load' the games one by one)

If you still find the extension not to be working, you could always try to run the script version in your browser's console. If there's another error, it'll show up directly in the console.
🎤 Vladadamm
01. May 2023 · 12:42 UTC
@xwilarg Also, here's a gif of the extension in action :

![alealudumdare-extension.gif](///raw/0d2/31/z/5ac2e.gif)
Xwilarg
01. May 2023 · 12:57 UTC
@vladadamm Ah yeah not sure why it wasn't working before, I retried and now everything works well, thanks!
nhcarter123
01. May 2023 · 15:20 UTC
Very thoughtful project!
Geckoo1337
01. May 2023 · 15:30 UTC
What an interesting idea! You made a clever entry - even if it is not a game, but a cool way to fit with the theme. I don't understand where is the problem. It works as expected on my computer without any dependencie or something else. Usually I rate games finding them with the tool which is showed above, but yours could be an interesting alternative. I really like your project - a tool for the community. Thank you for your comment. I appreciated to find you here again. I wish you the best ++
lima victor
02. May 2023 · 09:59 UTC
Lol, not what we wanted but what we needed
bartalomew
04. May 2023 · 11:57 UTC
this is rather a tool than a game, but a fun one. appreciate it, thanks man!
Avi
05. May 2023 · 10:52 UTC
Neat! I'll use this to find the next set of game to look at :)
Hakro
09. May 2023 · 09:02 UTC
Great idea ! and very useful actually, I got a couple of random nice games from it :)
Well done
Sempra
11. May 2023 · 15:54 UTC
The concept is awesome! Great work on that. As I tested it a bit later, I'm glad I've got to see the 'issues list' with all of this fixed x)
Artatruc
15. May 2023 · 06:49 UTC
Love that take on the theme, very clever and useful great idea good job!
blobo
15. May 2023 · 15:19 UTC
It seems like the "entry type" feature of this website might need to be finished sooner.

![imgg.PNG](///raw/b02/2/z/5bc68.png)

This is a really good tool! I absolutely agree about some of the search methods being easily abused (*cough* Sort by most rated?!) so the selection of games at random is very nice! Thank you for making this!
Sodoj
15. May 2023 · 23:49 UTC
This is a neat extension that might potentially give some people a better chance in reaching the vote criteria, I really like the idea behind this addon. It works and it does the job. Well done!