Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411430 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 04:39:42 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperPlaytesting5N²+6N-4 . . . . . .
Pages: 1 [2]
Print
Author Topic: 5N²+6N-4 . . . . . .  (Read 5426 times)
a-k-
Level 2
**


View Profile
« Reply #20 on: February 22, 2020, 06:16:56 AM »

In any case, I look forward to seeing what you come up with.  Smiley

Forget the new histogram. How about 100% pareto frontier-based scoring?

1. Based on the pareto frontier, let's define the values of two functions Cost'(cost) and Cycles'(cycles) on the thresholds as follows:



2. With some interpolation (multiplicative), we can get the following:



This can replace the existing Cost*Cycles metric, to base the 120x scoring on. As usual, the blue region will get at least 120x.
Logged

mapleOwO
Level 0
*



View Profile
« Reply #21 on: February 22, 2020, 08:59:37 AM »

Interesting! It still lacks contintuity at the blue-yellow border (since e.g. (24,170) is actually a 1000), but this is at least continuous around each expert solution! If you assume the expert solutions are relatively dense in the finite part of the blue-yellow boundary, the discontinuity also isn’t so bad.
Logged
a-k-
Level 2
**


View Profile
« Reply #22 on: April 15, 2020, 11:16:48 AM »

It's time for a follow up!

Interesting! It still lacks contintuity at the blue-yellow border (since e.g. (24,170) is actually a 1000), but this is at least continuous around each expert solution! If you assume the expert solutions are relatively dense in the finite part of the blue-yellow boundary, the discontinuity also isn’t so bad.

The new scoring system has been in place for almost 2 months now, and whenever I inserted a new (cost, cycles) point for a level, I noticed subtle changes in the leaderboards that suggested that players got more varied (and higher) scores. So I think it's a huge win over the previous system, especially when there are many optimal points.

In the interest of that, I've decided to retire from the exclusive expert position and score solutions against the best solutions of everyone. Since I prefer to keep scoring at the client side (in addition to the server's), once in a while I'll just collect from the server those optimal solutions that contribute new points to the pareto frontier and add them to the next version of the game. This implies that scores above 120x won't survive - they will become the "new 120x" and everything will be normalized relative to them. Moreover, any temporary discontinuity will get smoothed.

This change has just been implemented, and the present version already includes a few solutions from players. In order to not spoil the game for me, the solutions are collected and stored as part of the source code in an encrypted form (I am aware of the cost/cycles values, though - didn't bother to encrypt them.)

Indeed, and it's even harder to figure out which levels have root improvements since those solutions aren't represented in the histograms at all as far as I can tell.
[...]
A root histogram of this form would of course be useful (for levels where some strict improvement is possible) but it might make "chasing those imaginary points" a bit too easy.

I share your view here, and a root histogram is not going to normally show up.

I've changed my mind here, after observing that not many players create rooted solutions:
- Histograms in Level Select now show statistics for root even if the player hasn't rooted the level.
- For those levels whose metrics with root are better than without in some aspect (cycles, score, conditions etc.):
- - A comment is shown in Level Complete of a non-rooting solution, suggesting that this is the case.
- - The histograms for root are available in Level Stats even if the player hasn't rooted the level.

I like the new histogram! As far as score-improvement goes, though, it's only really useful for users if anyone breaks past the expert_score for a level. This could happen in future levels, but after the newest update I wouldn't be too surprised if this was entirely impossible for the current ones!

At the time, that's what I thought too. But later, while I was preparing a hint level for one of the levels, I discovered that there were 100 points left on the table (real points!)
By the way, that sqrt(cost*cycles) histogram was replaced with a more user-friendly histogram of scores as part of moving to the new scoring system.

I think my only hope is playing dirty... If C12 is to blame for your 2i advantage, then it's going away, and replaced by 2 new levels. Also included is one of my favorite achievements. Hopefully you won't find any loophole this time!

Aha! I suspected foul play when I saw C12 went missing. [...]

In the end, I made that Snowflake level a hint level of another, more elaborate level (and smoothed the difficulty curve towards that new level). Hint levels don't get scores Wink
Logged

LiquidAsh
Level 2
**



View Profile WWW
« Reply #23 on: February 04, 2022, 07:01:36 PM »

Fun game!  I stumbled across this last night and just returned for a few more levels.  I'm just entering the E-levels, which I'll probably return to over the weekend.

I enjoy the puzzles and really like simple actions and state model.  But I'm not a huge fan of the mechanism for aligning blocks into loops... at least not yet.  Maybe later levels will add some twist that help me see the values of this.  But for now, arranging blocks into a rectangle after deciding which blocks to include in the body of your loop seems a bit unnecessary and cumbersome.  And it feels even more out of place in the context of these puzzles in which any node can be linked-to or unlinked-from any other node so easily.  Representing instruction blocks as graph nodes seems like it would help connect these two halves of each puzzle.  Although maybe the duality between these two forms is something that will be played with in future levels(?): I could totally see alice triggering instructions in this kind of graph as she walks through it's nodes... And then there's a possibility for introducing extra levels of indirection/code generation: like graphs of instructions that alice walks through to create and execute other graphs of instructions, which themselves create others...

Lots of potential and a refreshing improvement on the typical maze crawling style block-programming games out there.
Keep up the good work!
Logged
a-k-
Level 2
**


View Profile
« Reply #24 on: February 06, 2022, 02:27:59 PM »

Fun game!  I stumbled across this last night and just returned for a few more levels.  I'm just entering the E-levels, which I'll probably return to over the weekend.

I enjoy the puzzles and really like simple actions and state model.

Thank you! Simplicity is what this game is about...

But I'm not a huge fan of the mechanism for aligning blocks into loops... at least not yet.  Maybe later levels will add some twist that help me see the values of this.  But for now, arranging blocks into a rectangle after deciding which blocks to include in the body of your loop seems a bit unnecessary and cumbersome.  And it feels even more out of place in the context of these puzzles in which any node can be linked-to or unlinked-from any other node so easily.  Representing instruction blocks as graph nodes seems like it would help connect these two halves of each puzzle.

I wasn't familiar with node editors when I started this game (had used only interactive viewers), so didn't really consider the option at the time. In retrospect I think that the main benefit of grid-based interfaces is keyboard support, and to some extent also compactness. It does have drawbacks, of course - not only in the UX department but also in the solution space (e.g. no loops of 3 instructions...)

Note that in any case programs are still graphs, it's just that the analogy is instruction<==>node instead of block<==>node. In particular, the layout of instructions on the grid doesn't change the program, and that's also reflected in the UI.

Although maybe the duality between these two forms is something that will be played with in future levels(?): I could totally see alice triggering instructions in this kind of graph as she walks through it's nodes... And then there's a possibility for introducing extra levels of indirection/code generation: like graphs of instructions that alice walks through to create and execute other graphs of instructions, which themselves create others...

Lots of potential and a refreshing improvement on the typical maze crawling style block-programming games out there.
Keep up the good work!

That's a beautiful idea! I've actually thought over the years about extending the mechanics to play exactly on this duality, but never went so far as you propose. I always concluded that it was beyond my "level design" skills, at least given the constraints of this game. I did come up with a level where you manipulated instructions instead of nodes, but it was one-off and I was looking for progression (I'm more flexible now...)

It's not as sophisticated as you imagined, but I've just implemented that level and deployed it to the HTML5 version. Here's to more levels about duality!

Thanks again for your great feedback!
Logged

agamerdev
Level 0
**



View Profile WWW
« Reply #25 on: March 08, 2022, 10:26:14 AM »

pretty good game you got there!  Smiley
Logged
a-k-
Level 2
**


View Profile
« Reply #26 on: April 30, 2022, 01:47:25 AM »

pretty good game you got there!  Smiley
Thank you!
Logged

LiquidAsh
Level 2
**



View Profile WWW
« Reply #27 on: July 28, 2022, 11:28:17 AM »

I just played through the game A=B, which reminded me to revisit Graphomata.  I've just played through a few more levels and love the self referential nature of the level "X5. Dispose Solution".  Also, I have no clue how to read the Maunfactoria code/encoding of my solutions, but love that they are in there.  Maybe one day I'll understand this encoding and appreciate it even more.

Keep up the great work!

P.S. I'm curious what lead you to make this system undeterministic.  I find that to be a super clever and unintuitive design decision.  Was that something that you had in mind from the beginning?
Logged
a-k-
Level 2
**


View Profile
« Reply #28 on: July 30, 2022, 02:37:19 AM »

Hey, thanks for returning!

I've just played through a few more levels and love the self referential nature of the level "X5. Dispose Solution".
Well, I added that level following the discussion with you!

Also, I have no clue how to read the Maunfactoria code/encoding of my solutions, but love that they are in there.  Maybe one day I'll understand this encoding and appreciate it even more.
Yeah, the Manufactoria translation is tricky because you don't get to see the tape...
<spoiler>
The code begins with the tape
   | IP | execution-state |
The series of Pushers turn that into
   | execution-state | cmd-type | worker(s) | IP' |
Then the runtime implementation of the command is executed with
   | worker(s) | IP' | execution-state |
</spoiler>

P.S. I'm curious what lead you to make this system undeterministic.  I find that to be a super clever and unintuitive design decision.  Was that something that you had in mind from the beginning?
Apparently yes. There were two iterations, and I've done a bit of digging to find out what I had when.

In the first, I created a language for gr.a ph algorithms and implemented a one-screen "IDE" for it. Graphically, it looked very similar to this game, but had 31 instructions, out of which 13 dealt exclusively with nodes and links. The nondeterminism existed naturally (also in backward-"W"...) - I didn't think about levels at all and just left it as is.

Then, years later, I suddenly remembered that project and wondered if I could come up with a minimal set of instructions that would make for good puzzles without arithmetic. Grabbed a pen and paper and I believe I converged to the 6 commands in a matter of minutes (didn't even consider alternatives). After 3-4 hours the pages were filled with quite a few levels and solutions and I knew I was going to do something with it.

I don't have those papers any more, but I've found a prototype from the following two days, comprised of the computational model, many input-generation functions and 3 "exercises" and solutions. Two of them correspond to level F1 but not necessarily layered and level X4. This suggests that I had already relied on nondeterminism by that time (though probably not understood all its ramifications...)

---
Update: I've managed to resurrect that old IDE, and here's the toolbox (with some redactions in order not to spoil the "X" mechanic):



It's already pretty close to the 6 commands of the game - you could say that I had beginner's luck...
« Last Edit: July 30, 2022, 10:12:36 AM by a-k- » Logged

Pages: 1 [2]
Print
Jump to:  

Theme orange-lt created by panic