Jump to content

User:Reversedragon/Wavebuilder/2410-22 wave-score

From Philosophical Research
Revision as of 03:19, 29 April 2025 by Reversedragon (talk | contribs) (archive scrap as-is; cr. 2024-10-22T03:16:28Z)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
# Can anyone help add my "wave score"?

I've been idly working on a parallel combination game called "wavebuilder". That part mostly isn't important, but in the process I created a **numerical scoring system for elements**, and I'm wondering if anyone who is already familiar with Firefox extensions (or even Chrome, but I definitely want a Firefox one) could add this scoring system to an extension like Infinite Craft Helper. (It might also be neat to see on a database like InfiniBrowser.)

Basically it works like this:

* An element's **sum** starts at 1 and is calculated as the sum of the two elements that created it. If the same element is combined twice, one of them is considered to have a sum of 1.
* An element's **moves** count is simply the number of combinations required to create it, measured as the longest path from a parent element plus 1.
* An element's score is listed as **sum:moves**, like this: `Gargoyle 14:6`
  * I also sometimes found it interesting to list elements with their largest possible *sum*: `Airship = 14:8 / 85`
* I usually just call this system the "wavebuilder score", although it could maybe be called the "wave score" or something.
* In my opinion the "canonical" score for an element is the lowest one — within reasonable limits of a palette of ~2000 elements or less.
  * (This would mean that to be properly accurate, the extension would have to recalculate all the elements that depend on a given element, but that's a problem for whoever wants to code in JavaScript. I haven't actually coded this into my program yet.)

___

If you can understand Lisp, these are the exact algorithms currently used for sum and moves:

```
(defun hyle-sum-+ (a b)  ; add up element sums to produce result sum
	(max
		(if (equal (hyle-id a) (hyle-id b))
			(+ (hyle-sum a) 1)
			(+ (hyle-sum a) (hyle-sum b)))
		1))

(defun hyle-moves-+ (a b)  ; add up element moves
	(+ 1  (max (hyle-moves a) (hyle-moves b))))
```

___

I think I'm most interested in seeing how ridiculously huge the sums on people's First Discoveries get, although this has many other possible uses, like finding the *smallest* sum or moves score for an element (which is basically what I designed it for).

If you have any thoughts on how to improve this scoring system such as other metrics to add — maybe there's some great insight from advanced mathematics on networks of combining elements that I missed? maybe there are crazy patterns to First Discoveries I didn't think about? — feel free to share them. I would gladly add a good metric to wavebuilder for what it counts for (the project is very unfinished), but in general I feel like Infinite Craft guides need better analysis tools so we can really start finding and discussing interesting patterns.


<!--
---

:: cr. 2024-10-22T03:16:28Z
;    REJECTED for karma.  post karma 1, comment karma 11 (!)
:: t.  2410-22_wave-score
; using Markdown formatting rules
-->