<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Joint AIIDE Workshop on Experimental Artificial Intelligence in Games and Intelligent Narrative Technologies, November</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Generating Three-Star System Puzzles using Solution Enumeration Fitness for a Lattice Protein Folding Game</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yaejie Kwon</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fiona Shyne</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Seth Cooper</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Northeastern University</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Swarthmore College</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <volume>1</volume>
      <fpage>0</fpage>
      <lpage>11</lpage>
      <abstract>
        <p>Many puzzle games incorporate multi-star systems that provide diferent rewards for player performance on each puzzle, with better performance earning more stars. Such puzzles require distinct solutions of increasing dificulty; however, most work in generating puzzles considers just a single solution. In this work, we explore an approach to generating puzzles that have many distinct solutions and could thus lend themselves to being used in a game with a multi-star (in this case, three-star) rating system. Our approach uses a genetic algorithm to search over possible puzzles, and incorporates a fitness function that exhaustively enumerates all possible solutions, rewarding solutions with more distinct solutions. We apply the approach to a game based on a simple lattice protein folding, where puzzles are determined by the a sequence of amino acids, and fitness enumerates all possible conformations with diferent numbers of contacts.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;procedural content generation</kwd>
        <kwd>star rating</kwd>
        <kwd>enumeration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>It is not uncommon for puzzles in games to have multiple ways to be solved, with some being considered
better than others. This can take form in getting a higher score, making fewer moves, using less time,
or taking less common approaches (for example: Angry Birds, Dragon Box, Where’s my Water, and
Cut the Rope). In such games, players can be rewarded for better solutions by what we refer to as a
three-star system, where a player is given up to three stars for their performance on a puzzle.</p>
      <p>
        A critical aspect of puzzle generation is that a puzzle must be solvable; that is, it must be possible
to reach the solution of the puzzle. There are many approaches to procedural content generation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
for creating puzzles for games [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However, less explored is the generation of puzzles with multiple
distinct solutions that would lend themselves to a three-star system puzzle game.
      </p>
      <p>
        Therefore, in this work, we developed an approach to generating three-star puzzles that incorporates
a search over possible puzzles with an exhaustive enumeration of their solutions. More specifically, we
use a genetic algorithm to search over puzzles, in which the fitness function enumerates the solutions
for that puzzle and prefers those that have a larger number of distinct possible scores. Such puzzles may
lend themselves better to gradually rewarding players with increasing stars as they find progressively
better solutions by associating each of the three stars with a score threshold. We apply this approach
to a prototype puzzle game, Foldit Lattice, built around the 2D lattice protein folding problem [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ].
The concept of Foldit Lattice is to be a more lightweight and “casual” introduction to the Foldit citizen
science biochemistry game [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>Our findings show that this approach can be used to generate puzzles with a range of diferent
scores, and that the genetic algorithm can efectively evolve an initial population of puzzles that contain
relatively few high-fitnesses into a larger set of top-fitness puzzles.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <sec id="sec-2-1">
        <title>2.1. Procedural Puzzle Generation</title>
        <p>
          PCG for puzzles remains under-explored, as puzzle generation must ensure playability, appropriate
dificulty, and other criteria are often game-specific and more complex than other PCG domains [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. The
creation of puzzles, compared to that of levels or other content, requires more organization as you must
make sure that they are solvable, non-trivial, and have the desired dificulty [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. Puzzles often need to
be evaluated with fitness functions that measure properties such as uniqueness, optimality, or number
of solutions. For this reason, complete coverage and strong evaluation are established with exhaustive
searches that find all possible configurations for a puzzle. Many procedural puzzle generation methods
typically focus on generating puzzles with one correct solution, rather than designing those that support
multiple distinct solutions.
        </p>
        <p>
          There have also been uses of genetic algorithms applied to procedural puzzle generation. For instance,
a variant of FI-2pop was used to generate puzzles that can be described as a sequence of actions. The
optimization functions in the algorithm attempt to adjust the dificulty based on the player and utilize a
simple player model to control this [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Similarly, genetic algorithms have been applied to construct
grid-based logic puzzles, where fitness was determined by moves done by an automatic solver, and
dificulty was calculated according to the types of moves the solver would use [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Another approach
[
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] used a GA to generate clues for a children’s game of placing tiles in a row, measuring dificulty
by the number of possible solutions, and used AI-generated narratives from Chat-GPT for each of the
clues.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Exhaustive Search</title>
        <p>
          The approach to our current game design requires looking at all solutions for a puzzle, building upon
the foundation of exhaustive and semi-exhaustive procedural content generation (EPCG) [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] and
largescale search of game content [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Although this method has yet to be largely studied, it allows for
a systematic way of identifying all possible content in a given search space. When applying this to
puzzle-like games, EPCG contains features to map between a puzzle state and the rank in the context
of its design. This also allows selecting and evaluating content based on desirable properties, such
as the dificulty of the level. Our approach would extend these concepts to a more scientific puzzle
and connect them to multi-solution generation for three-star systems. Recently, EPCG approaches
have been used in the design process of novel puzzle games, displaying systematic search methods to
generate and evaluate puzzle content [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Three-Star System</title>
        <p>
          A three-star system is one that is commonly seen in these games with puzzle-like aspects, and has been
found to help increase user engagement and adoption [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. Research has found that this progression
allowed for a positive response from players as they tended to use fewer moves because they carried
out each one more thoughtfully, and replayed levels more often to optimize the level score. Despite
this behavioral impact, it was also found that player retention did not improve due to usually having
only one inherent solution for the level. However, because our prototype game has the main purpose of
being an introductory game, its feature of having multi-solution puzzles at each threshold may allow
for a stronger retention rate compared to those that were examined in this research. However, the
impact, replay rate, and rewards are not entirely clear [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>2.4. Science-Related and Crowdsourcing Games</title>
        <p>
          Many crowdsourced, citizen-science games engage the public with real scientific data through
puzzlelike mechanics. These include Foldit [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] or EteRNA [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], which involve concepts such as protein-folding
and RNA molecule design, where solutions by players can be integrated into real experiments. Other
        </p>
        <sec id="sec-2-4-1">
          <title>Random</title>
          <p>population of
puzzles</p>
        </sec>
        <sec id="sec-2-4-2">
          <title>Select &amp; evolve new population</title>
          <p>Fitness Function: prefer puzzles with many possible scores</p>
        </sec>
        <sec id="sec-2-4-3">
          <title>Enumerate</title>
          <p>solutions</p>
        </sec>
        <sec id="sec-2-4-4">
          <title>Calculate</title>
          <p>scores</p>
        </sec>
        <sec id="sec-2-4-5">
          <title>Count different</title>
          <p>
            scores
puzzle-based games, such as Phylo [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ], Borderlands Science, and Fraxinus [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ], all integrate other
approaches to science games that allow for a much simpler understanding of these scientific concepts,
all whilst allowing the users to contribute to a larger cause that may deal with things such as genomes.
Despite the fact that these games help make scientific concepts more approachable through games,
many of them lack accessibility and long-term engagement due to their complex mechanics.
          </p>
          <p>
            There are also other, more casual crowdsourced games useful for collecting information. For example,
ESP Game [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ] was used to produce metadata made by humans to support image creation, BeFaced [
            <xref ref-type="bibr" rid="ref18">18</xref>
            ]
assisted in face perception studies, and Cropland Capture [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ] found training data for machine learning
in agriculture through its mobile game, where users labeled satellite images of farmland. This shows
that it is possible to construct meaningful puzzles that are approachable in design, while having layered
dificulty.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. General Approach</title>
      <p>Genetic algorithms are a search method inspired by natural selection. We used this method to evolve
optimal solutions that produce a wide range of solution scores, with the goal of providing more options
for 3-star thresholds and ideally more engaging level design.</p>
      <p>A flowchart giving an overview of the process is shown in Figure 1. Our genetic algorithm begins
with a random population of puzzles. Each puzzle is represented as a string of elements, in which each
element corresponds to a diferent character based on the puzzle description. This population is then
input into a fitness function, which is used to numerically evaluate the quality of each individual in the
population. In this project, puzzles are given preference over when there are a variety of diferent scores,
allowing more possibilities to reward the players with stars. The fitness function starts by exhaustively
iterating through all possible solutions of the puzzle. The fitness score is found by calculating the total
number of distinct scores the puzzle can produce across its valid solutions (i.e., higher diversity of scores
indicates a better level).</p>
      <p>Based on the fitness score, parents of puzzles are selected randomly with a weighted chance
proportional to the score. To these parents, mutation and crossover functions are applied to generate ofspring
puzzles. For crossover, a one-point approach is used, where a single random point is chosen, and all
elements after that point are swapped between the two parents. Mutation randomly changes individual
elements of a puzzle, introducing additional diversity. These ofspring are then inserted back into the
population, and the cycle repeats until the set number of generations is complete. As a result, the
algorithm yields puzzles with the highest fitness.</p>
      <p>
        The types of application that this algorithm could be applied to consist of those in which it is possible
to enumerate and search through all permutations of a puzzle’s solution, which should have a range of
possible scores. Thus, this framework can be further implemented into games, such as Sokobond [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Foldit Lattice Game Description</title>
      <p>
        To test out our approach, we applied it to a prototype game, Foldit Lattice. Foldit Lattice was inspired by
its larger, more complex counterpart, Foldit. It is based on the lattice protein folding problem and uses
the 2D hydrophobic-hydrophilic model [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. A screenshot is shown in 2.
      </p>
      <p>In this game, players are provided with a protein chain consisting of hydrophobic (orange) and
hydrophilic (blue) nodes. Based on the length and the order of this sequence of hydrophobic and
hydrophilic nodes, the connected chain can be manipulated by having orthogonal moves (90° or 180°)
between each node. An arrangement of a puzzle’s nodes (i.e., a solution) is referred to as a conformation.
Players can freely drag the nodes with the mouse using a mass-spring model; the nodes are also pulled
to the center of cells in the visualized grid to keep them roughly orthogonal. The player’s goal is to
maximize the amount of HH (hydrophobic-hydrophobic) contacts. These contacts happen when two
hydrophobic nodes are adjacent to each other on the grid, but not next to each other based on the order
of the chain (as seen through the orange dotted lines in Figure 2). In the case of Foldit Lattice, the
solution of a puzzle is a protein conformation–essentially the directions from a node to the following
one–and the score is the total number of HH contacts.</p>
      <sec id="sec-4-1">
        <title>4.1. Applying Approach to Foldit Lattice</title>
        <p>
          In the case of Foldit Lattice, to create an optimal puzzle for the game, we began with a random population
of hydrophobic (H) and hydrophilic (P) string sequences of fixed length. Each puzzle is represented as a
linear sequence of the H and P elements, which can be thought of as a 1D array. We then formulated a
iftness function to enumerate all valid conformations that avoid self-intersection for each sequence. Its
representation of each node on the grid would be through a string of directions (up, down, left, right),
avoiding symmetric redundancies. For performance, we implemented enumeration in C, based on the
harmslab/latticeproteins Python package [
          <xref ref-type="bibr" rid="ref21 ref22 ref23">21, 22, 23</xref>
          ] and a tutorial [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. This uses a recursive
depth-first search with backtracking, which also handles symmetry considering rotations and reflections.
For each of the conformations, the HH-contact score is calculated, and the fitness score is given based
on how many distinct scores the puzzles can have. With this fitness score, sequences are randomly
selected again with a weighted chance based on their respective scores. Mutations randomly change
an element from H to P or vice versa, and crossover generates ofspring by exchanging subsequences
between two parent sequences. This process is repeated until the sequences with the best fitness are
found.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Evaluation</title>
      <p>The goal of this evaluation is to examine the performance of the genetic algorithm in generating puzzles
with diverse fitness scores.</p>
      <p>For all experiments, we used a population size of 30, 50 generations, single-point crossover, a
pointwise mutation at a rate of 0.1 per element, and 1 elite (the highest-fitness puzzle in each generation
is carried over unchanged). For overall GA performance, 25 trials were averaged, and for max fitness
count, 15 trials were averaged.</p>
      <p>We focused on puzzles of length 16, but ran puzzles of smaller sizes to get rough timing information.
Experiments were run on a MacBook Pro (Apple M2, 8-core CPU with 8 GB memory), and we parallelized
the evaluation of puzzle solutions in our code to reduce computation time. For puzzles with sequence
length 16, the total time was approximately 2.7 hours (162 minutes), with an average of 31.5 minutes
per sequence. Each trial took an average of 390 seconds (6.5 minutes), and each generation took
approximately 7.8 seconds. For puzzles with sequence length 8, the total time was approximately 54
minutes, with an average of 10.9 minutes per sequence. Each trial took an average of 131 seconds (2.2
2-star solution
minutes), and each generation took approximately 2.6 seconds. Finally, for puzzles with sequence length
4, the total computation time was around 47 minutes, with an average of 9.1 minutes per sequence.
Each trial took about 109 seconds (1.82 minutes), and each generation took roughly 2.2 seconds.</p>
      <p>Based on the genetic algorithm performance plot, we observed a consistent range of high fitness
scores throughout the generations.</p>
      <p>Figure 3 shows trajectories of the population of the genetic algorithm over the generations. On the
left, we see that in fact the first (randomly-generated) population performs quite well, finding solutions
with the maximum score found overall. However, on the right, we see that the number of puzzles in the
population with that maximum score increases roughly over the generations. This demonstrates that
the population is improving over time; finding more of these high-scoring puzzles would be useful for a
game, as there are more such puzzles to choose from.</p>
      <p>Figure 4 represents levels of the Foldit Lattice, which consists of low and high-fitness 16-length
sequences. When mapping this onto a histogram, we can visualize what does and does not classify as an
ideal level. For example, the low-fitness histogram only has a total of 3 diferent scores achievable with
a similar number of configurations applicable to each score value. On the other hand, the high-fitness
histogram provides a much larger range of scores, with a downwards sloping trend where there are very
few possible solutions for the highest score, 9, and many more for the lower scores. This distribution
could allow for a more stimulating experience for the player as it promotes critical thinking.</p>
      <p>Using the distribution seen on these graphs, we can assign the thresholds for the 3-star system for
each level. For the Figure 6 puzzle that represents the high-fitness sequence in Figure 4, because the
maximum achievable score found is 9, the star threshold is divided by 0-3 as zero stars, 4-7 contacts as
2-star solution
3-star solution
one star, 8 contacts as two stars, and 9 contacts as three stars. On the other hand, when determining the
score structure for the low fitness sequence shown in Figure 5, a star is obtained with each additional
HH-contact, as there are only a maximum of three contacts possible. In this puzzle, we can also observe
that the dificulty and subjective visual interest are also low because it is very straightforward to get
each contact with the hydrophilic residues positioned right next to each other.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>In this work, we were able to successfully generate levels for puzzles with multiple solutions that fit the
three-star thresholds. Using a genetic algorithm approach, the number of top-scoring puzzles in the
population increased over the generations.</p>
      <p>In the future, we would like to adopt a quality-diversity search in place of the genetic algorithm. This
approach would provide a variety of puzzles with competitive solutions in the search space, rather than
just a singular “best” puzzle.</p>
      <p>We also intend to study the spacing of stars among the score thresholds. There are various methods
to do this, such as choosing specific percentiles, deciding based on the model of the graph, or by the
number of total difering scores. In this work, we only looked at the number of diferent scores in the
iftness function; however, the shape of the score histogram may also be interesting to consider (e.g., the
relative proportions of each score). There may also be technical scalability issues for larger puzzles
whose solutions are increasingly dificult to enumerate.</p>
      <p>Specifically, in the context of Foldit Lattice, we would like to incorporate more complex functionality
of lattice protein models. This would include factors such as working with a 3D structure instead of a
2D one. It would also involve parts of the genetic algorithm so that it integrates additional attributes to
the hydrophobic-hydrophilic model, such as how the score is calculated, rather than simply counting
the number of HH contacts. We are also considering conducting a user study to help evaluate the
diferences in engagement from the user between low and high fitness puzzles.</p>
      <p>Lastly, having only applied this to Foldit Lattice, we propose an extension of this method to other
existing games that have the required characteristics of project description, variety of solutions, and
score.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This material is based upon work supported by the National Science Foundation under Grant No.
2244288 and the Rosetta Commons REU Program. We would also like to thank Jaden Rodriguez for his
contributions.</p>
    </sec>
    <sec id="sec-8">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the author(s) used Grammarly in order to: Grammar and spelling
check. After using this tool/service, the author(s) reviewed and edited the content as needed and take(s)
full responsibility for the publication’s content.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>N.</given-names>
            <surname>Shaker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Togelius</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Nelson</surname>
          </string-name>
          , Procedural Content Generation in Games, Springer International Publishing,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>B.</given-names>
            <surname>De Kegel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Haahr</surname>
          </string-name>
          ,
          <article-title>Procedural puzzle generation: a survey</article-title>
          ,
          <source>IEEE Transactions on Games</source>
          <volume>12</volume>
          (
          <year>2020</year>
          )
          <fpage>21</fpage>
          -
          <lpage>40</lpage>
          . doi:
          <volume>10</volume>
          .1109/TG.
          <year>2019</year>
          .
          <volume>2917792</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K. F.</given-names>
            <surname>Lau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. A.</given-names>
            <surname>Dill</surname>
          </string-name>
          ,
          <article-title>A lattice statistical mechanics model of the conformational and sequence spaces of proteins</article-title>
          ,
          <source>Macromolecules</source>
          <volume>22</volume>
          (
          <year>1989</year>
          )
          <fpage>3986</fpage>
          -
          <lpage>3997</lpage>
          . URL: https://doi.org/10.1021/ma00200a030. doi:
          <volume>10</volume>
          .1021/ma00200a030, publisher: American Chemical Society.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Crescenzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Goldman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Papadimitriou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Piccolboni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Yannakakis</surname>
          </string-name>
          ,
          <article-title>On the complexity of protein folding</article-title>
          ,
          <source>Journal of Computational Biology</source>
          <volume>5</volume>
          (
          <year>1998</year>
          )
          <fpage>423</fpage>
          -
          <lpage>465</lpage>
          . URL: https://www.liebertpub. com/doi/10.1089/cmb.
          <year>1998</year>
          .
          <volume>5</volume>
          .423. doi:
          <volume>10</volume>
          .1089/cmb.
          <year>1998</year>
          .
          <volume>5</volume>
          .423, publisher: Mary Ann Liebert, Inc., publishers.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Cooper</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Khatib</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Treuille</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Barbero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Beenen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Leaver-Fay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Baker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Popović</surname>
          </string-name>
          , Foldit Players,
          <article-title>Predicting protein structures with a multiplayer online game</article-title>
          ,
          <source>Nature</source>
          <volume>466</volume>
          (
          <year>2010</year>
          )
          <fpage>756</fpage>
          -
          <lpage>760</lpage>
          . URL: http://dx.doi.org/10.1038/nature09304. doi:
          <volume>10</volume>
          .1038/nature09304.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Scirea</surname>
          </string-name>
          ,
          <article-title>Adaptive puzzle generation for computational thinking</article-title>
          , in: X.
          <string-name>
            <surname>Fang</surname>
          </string-name>
          (Ed.),
          <source>HCI in Games. HCII</source>
          <year>2020</year>
          , volume
          <volume>12211</volume>
          of Lecture Notes in Computer Science, Springer, Cham,
          <year>2020</year>
          , pp.
          <fpage>429</fpage>
          -
          <lpage>441</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -50164-8_
          <fpage>35</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Oranchak</surname>
          </string-name>
          ,
          <article-title>Evolutionary algorithm for generation of entertaining shinro logic puzzles</article-title>
          , in: Applications of Evolutionary Computation.
          <source>EvoApplications</source>
          <year>2010</year>
          , volume
          <volume>6024</volume>
          of Lecture Notes in Computer Science, Springer, Berlin, Heidelberg,
          <year>2010</year>
          , pp.
          <fpage>208</fpage>
          -
          <lpage>217</lpage>
          . doi:
          <volume>10</volume>
          .1007/ 978-3-
          <fpage>642</fpage>
          -12239-2_
          <fpage>19</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>T.</given-names>
            <surname>Volden</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Grbic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Burelli</surname>
          </string-name>
          ,
          <article-title>Procedurally generating rules to adapt dificulty for narrative puzzle games</article-title>
          ,
          <source>in: 2023 IEEE Conference on Games (CoG)</source>
          , IEEE,
          <year>2023</year>
          , p.
          <fpage>1</fpage>
          --
          <lpage>4</lpage>
          . URL: http://dx.doi.org/10. 1109/CoG57401.
          <year>2023</year>
          .
          <volume>10333251</volume>
          . doi:
          <volume>10</volume>
          .1109/cog57401.
          <year>2023</year>
          .
          <volume>10333251</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>N. R.</given-names>
            <surname>Sturtevant</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Ota</surname>
          </string-name>
          ,
          <article-title>Exhaustive and semi-exhaustive procedural content generation</article-title>
          ,
          <source>AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment; Fourteenth Artificial Intelligence and Interactive Digital Entertainment Conference</source>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>N. R.</given-names>
            <surname>Sturtevant</surname>
          </string-name>
          ,
          <article-title>An argument for large-scale breadth-first search for game design and content generation via a case study of Fling!</article-title>
          ,
          <source>in: Proceedings of the AIIDE Workshop on Artificial Intelligence in the Game Design Process</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>28</fpage>
          -
          <lpage>33</lpage>
          . URL: http://web.cs.du.edu/~sturtevant/ papers/BFS-design.pdf, precomputation testing debugging.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Mahmoud</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. R.</given-names>
            <surname>Sturtevant</surname>
          </string-name>
          ,
          <article-title>Using epcg for designing a hexagon tangram puzzle</article-title>
          ,
          <source>in: Proceedings of the AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment</source>
          , volume
          <volume>20</volume>
          ,
          <year>2024</year>
          , pp.
          <fpage>199</fpage>
          -
          <lpage>207</lpage>
          . doi:
          <volume>10</volume>
          .1609/aiide.v20i1.
          <fpage>31880</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Gaston</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Cooper</surname>
          </string-name>
          ,
          <article-title>To three or not to three: improving human computation game onboarding with a three-star system</article-title>
          ,
          <source>in: Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems, CHI '17</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA,
          <year>2017</year>
          , pp.
          <fpage>5034</fpage>
          -
          <lpage>5039</lpage>
          . URL: http://doi.acm.
          <source>org/10</source>
          .1145/3025453.3025997. doi:
          <volume>10</volume>
          .1145/3025453.3025997.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Long</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Aleven</surname>
          </string-name>
          ,
          <article-title>Gamification of joint student/system control over problem selection in a linear equation tutor</article-title>
          ,
          <source>in: Intelligent Tutoring Systems, Lecture Notes in Computer Science</source>
          , Springer, Cham,
          <year>2014</year>
          , pp.
          <fpage>378</fpage>
          -
          <lpage>387</lpage>
          . URL: https://link.springer.com/chapter/10.1007/978-3-
          <fpage>319</fpage>
          -07221-0_
          <fpage>47</fpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -07221-0_
          <fpage>47</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Kladwang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Cantu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Azizyan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Limpaecher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Yoon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Treuille</surname>
          </string-name>
          ,
          <string-name>
            <surname>R. Das</surname>
          </string-name>
          ,
          <string-name>
            <surname>EteRNA Participants</surname>
          </string-name>
          ,
          <article-title>RNA design rules from a massive open laboratory</article-title>
          ,
          <source>Proceedings of the National Academy of Sciences</source>
          <volume>111</volume>
          (
          <year>2014</year>
          )
          <fpage>2122</fpage>
          -
          <lpage>2127</lpage>
          . URL: http://dx.doi.org/10.1073/pnas. 1313039111. doi:
          <volume>10</volume>
          .1073/pnas.1313039111.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kawrykow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Roumanis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kwak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Leung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Zarour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Sarmenta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Blanchette</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Waldispühl</surname>
          </string-name>
          , Phylo Players,
          <article-title>Phylo: a citizen science approach for improving multiple sequence alignment</article-title>
          ,
          <source>PLOS ONE 7</source>
          (
          <year>2012</year>
          )
          <article-title>e31362</article-title>
          . doi:
          <volume>10</volume>
          .1371/journal.pone.
          <volume>0031362</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>G.</given-names>
            <surname>Rallapalli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Fraxinus</given-names>
            <surname>Players</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. G.</given-names>
            <surname>Saunders</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Yoshida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Edwards</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Lugo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Collin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Clavijo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Corpas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Swarbreck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Clark</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Downie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kamoun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Team</given-names>
            <surname>Cooper</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>MacLean, Lessons from Fraxinus, a crowd-sourced citizen science game in genomics</article-title>
          , eLife
          <volume>4</volume>
          (
          <year>2015</year>
          )
          <article-title>e07460</article-title>
          . doi:
          <volume>10</volume>
          .7554/eLife.07460.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>L. von Ahn</surname>
          </string-name>
          , L. Dabbish,
          <article-title>Labeling images with a computer game</article-title>
          ,
          <source>in: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems</source>
          , ACM, Vienna, Austria,
          <year>2004</year>
          , pp.
          <fpage>319</fpage>
          -
          <lpage>326</lpage>
          . doi:
          <volume>10</volume>
          .1145/985692.985733.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>C. T.</given-names>
            <surname>Tan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Sapkota</surname>
          </string-name>
          , D. Rosser,
          <article-title>BeFaced: a casual game to crowdsource facial expressions in the wild</article-title>
          ,
          <source>in: CHI '14 Extended Abstracts on Human Factors in Computing Systems, CHI EA '14</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA,
          <year>2014</year>
          , pp.
          <fpage>491</fpage>
          -
          <lpage>494</lpage>
          . URL: http://doi.acm.
          <source>org/10</source>
          .1145/2559206.2574773. doi:
          <volume>10</volume>
          .1145/2559206.2574773.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>T.</given-names>
            <surname>Sturn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Salk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Perger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>See</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Fritz</surname>
          </string-name>
          ,
          <article-title>Cropland Capture - a game for improving global cropland maps</article-title>
          ,
          <source>in: Proceedings of the 10th International Conference on the Foundations of Digital Games</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Thinking</surname>
            <given-names>Rabbit</given-names>
          </string-name>
          , Sokoban,
          <year>1982</year>
          . Game.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Sailer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bloom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Harms</surname>
          </string-name>
          , Latticeproteins, https://github.com/harmslab/latticeproteins/,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Bloom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. O.</given-names>
            <surname>Wilke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. H.</given-names>
            <surname>Arnold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Adami</surname>
          </string-name>
          ,
          <article-title>Stability and the evolvability of function in a model protein</article-title>
          ,
          <source>Biophysical Journal</source>
          <volume>86</volume>
          (
          <year>2004</year>
          )
          <fpage>2758</fpage>
          -
          <lpage>2764</lpage>
          . doi:
          <volume>10</volume>
          .1016/S0006-
          <volume>3495</volume>
          (
          <issue>04</issue>
          )
          <fpage>74329</fpage>
          -
          <lpage>5</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Bloom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. T.</given-names>
            <surname>Labthavikul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. R.</given-names>
            <surname>Otey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. H.</given-names>
            <surname>Arnold</surname>
          </string-name>
          ,
          <article-title>Protein stability promotes evolvability</article-title>
          ,
          <source>Proceedings of the National Academy of Sciences of the United States of America</source>
          <volume>103</volume>
          (
          <year>2006</year>
          )
          <fpage>5869</fpage>
          -
          <lpage>5874</lpage>
          . doi:
          <volume>10</volume>
          .1073/pnas.0510098103.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>S.</given-names>
            <surname>Will</surname>
          </string-name>
          ,
          <article-title>Lattice models: The simplest protein model</article-title>
          , https://math.mit.edu/classes/18.417/Slides/ HP-protein-prediction.pdf,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>