{"id":1462,"date":"2025-12-29T21:56:27","date_gmt":"2025-12-29T19:56:27","guid":{"rendered":"https:\/\/wesleydegraaf.com\/?page_id=1462"},"modified":"2025-12-29T21:56:27","modified_gmt":"2025-12-29T19:56:27","slug":"no-more-pancakes","status":"publish","type":"page","link":"https:\/\/wesleydegraaf.com\/en\/no-more-pancakes\/","title":{"rendered":"No More Pancakes"},"content":{"rendered":"\n<div class=\"wp-block-cover\" style=\"min-height:280px;aspect-ratio:unset;\"><span aria-hidden=\"true\" class=\"wp-block-cover__background has-palette-color-1-background-color has-background-dim-100 has-background-dim\"><\/span><div class=\"wp-block-cover__inner-container is-layout-flow wp-block-cover-is-layout-flow\">\n<p class=\"has-text-align-center has-x-large-font-size\"><strong>No More Pancakes<\/strong><\/p>\n<\/div><\/div>\n\n\n\n<figure class=\"wp-block-embed alignright is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"No More Pancakes TRAILER\" width=\"1290\" height=\"726\" src=\"https:\/\/www.youtube.com\/embed\/kM02DiQbcxM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>No More Pancakes is een game die gesubmit is voor de Game Maker&#8217;s Toolkit game jam 2025, met als thema &#8220;Loop&#8221;. Vanuit dit thema kwamen we op het idee om een game te maken waarin de speler de loop juist moet doorbreken. <\/p>\n\n\n\n<p>De speler werkt in een pannenkoeken kraam en maakt elke dag pannenkoeken voor langskomende klanten. Wat in eerste instantie onopvalt, is dat elke dag exact hetzelfde verloopt. Dezelfde NPC\u2019s lopen voorbij op precies dezelfde momenten en plaatsen telkens dezelfde bestellingen.<\/p>\n\n\n\n<p>Naarmate de speler dit patroon doorziet, ontstaat de mogelijkheid om vooruit te plannen door bestellingen alvast klaar te maken. De tijd die hierdoor vrijkomt kan worden gebruikt om de omgeving te verkennen en langzaam het geheim achter deze herhalende wereld te ontrafelen.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading has-palette-color-2-color has-text-color has-link-color wp-elements-4ecacf9fae3972651f0155720f82852f\">Project Info:<\/h4>\n\n\n\n<p>Teamleden: Andrich Laker, Lloyd Belterman, Eva Makker &amp; Lize-Jin Joosten<br>Project tijd: 30-07-2025 t\/m 03-08-2025<br>Engine: Unity<br>Code Languages: C#<br>Game Jam: GMTK 2025<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"1473\" src=\"https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/1XZfSP-1024x576.png\" alt=\"\" class=\"wp-image-1473\" srcset=\"https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/1XZfSP-1024x576.png 1024w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/1XZfSP-300x169.png 300w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/1XZfSP-768x432.png 768w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/1XZfSP-1536x864.png 1536w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/1XZfSP-2048x1152.png 2048w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/1XZfSP-18x10.png 18w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"573\" data-id=\"1474\" src=\"https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/ImxTZN-1024x573.png\" alt=\"\" class=\"wp-image-1474\" srcset=\"https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/ImxTZN-1024x573.png 1024w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/ImxTZN-300x168.png 300w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/ImxTZN-768x430.png 768w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/ImxTZN-1536x860.png 1536w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/ImxTZN-2048x1146.png 2048w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/ImxTZN-18x10.png 18w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"571\" data-id=\"1472\" src=\"https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/z4m73P-1024x571.png\" alt=\"\" class=\"wp-image-1472\" srcset=\"https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/z4m73P-1024x571.png 1024w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/z4m73P-300x167.png 300w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/z4m73P-768x428.png 768w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/z4m73P-1536x856.png 1536w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/z4m73P-2048x1142.png 2048w, https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/z4m73P-18x10.png 18w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"426\" height=\"240\" data-id=\"1494\" src=\"https:\/\/wesleydegraaf.com\/wp-content\/uploads\/2025\/12\/NzzpcH.gif\" alt=\"\" class=\"wp-image-1494\"\/><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-palette-color-2-color has-text-color has-link-color wp-elements-31a830d1d73709451bd3fe1746f0dfde\">NPC&#8217;s<\/h2>\n\n\n\n<p>De NPC&#8217;s volgen elke dag een vaste route en doen dezelfde bestelling dit systeem maakt een actie lijst met alle acties die door de npc gedaan moeten worden. Na een order moet hij altijd een vaste route volgen om van het voertuig af te gaan en de laatste actie wordt een verstopt actie, waarbij de npc een bosje zoekt om te verstoppen. Aan het begin van de volgende dag kunnen we de lijst opnieuw uitvoeren voor hetzelfde gedrag. Dit systeem zet de basis voor het loop effect wat we willen cree\u00ebren.<\/p>\n\n\n\n<div class=\"dm-code-snippet light dm-normal-version no-background no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-javascript\"> private List&lt;AIAction> CreateActions(int actionCount, Vector3 startPos, int agentIndex)\n    {\n        List&lt;AIAction> actions = new List&lt;AIAction>();\n\n        int maxAgentIndex = agentCount - 1;\n        int min = 2 + 4 * agentIndex;\n        int maxExclusive = actionCount - 2 - 4 * (maxAgentIndex - agentIndex);\n\n        int orderAction;\n\n        if (min >= maxExclusive)\n        {\n            Debug.Log($\"No valid range for agent: {agentIndex}; Using fallback.\");\n            orderAction = Mathf.Clamp(min, 0, actionCount - 1);\n        }\n        else orderAction = Random.Range(min, maxExclusive);\n        \n        for (int i = 0; i &lt; actionCount; i++)\n        {\n            if (i == 0) actions.Add(new StartPositionAction(startPos));\n            else if (i == orderAction) actions.Add(new GoToQueueAction(itemOrders[Random.Range(0, itemOrders.Count)]));\n            else if (i == orderAction + 1) actions.Add(new FollowWaypoints(orderDoneWaypoints));\n            else if (i == actionCount - 1)\n            {\n                HidingSpot hidingSpot = bushHidingSpots[Random.Range(0, bushHidingSpots.Count)];\n                bushHidingSpots.Remove(hidingSpot);\n                actions.Add(new GoToHidingSpotAction(hidingSpot));\n            }\n            else\n            {\n                int rnd = Random.Range(0, 6);\n\n                if (rnd == 0 || rnd == 1 || rnd == 2) actions.Add(new RandomMovementAction());\n                else if (rnd == 3 || rnd == 4) actions.Add(new MoveToPointOfIntrestAction(pointOfIntrests[Random.Range(0, pointOfIntrests.Length)]));\n                else if (rnd == 5) actions.Add(new FollowWaypoints());\n            }\n        }\n\n        return actions;\n    }<\/code><\/pre><\/div><\/div>\n\n\n\n<p class=\"has-text-align-center\">Alle random acties die van te voren worden gedefineerd voor elke npc.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<p><iframe loading=\"lazy\" frameborder=\"0\" src=\"https:\/\/itch.io\/embed\/3750594?link_color=fc8500\" width=\"552\" height=\"167\"><a href=\"https:\/\/ritchidev.itch.io\/nomorepancakes\">No More Pancakes by RitchiDev, Doodle Birb, Zwimpie, Double_Gezicht, y1zejin<\/a><\/iframe><\/p>\n\n\n<p><iframe loading=\"lazy\" frameborder=\"0\" src=\"https:\/\/itch.io\/embed-upload\/14652188?color=aa9d84\" allowfullscreen=\"\" width=\"970\" height=\"610\"><a href=\"https:\/\/ritchidev.itch.io\/nomorepancakes\">Play No More Pancakes on itch.io<\/a><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>No More Pancakes is een game die gesubmit is voor de Game Maker&#8217;s Toolkit game jam 2025, met als thema &#8220;Loop&#8221;. Vanuit dit thema kwamen we op het idee om een game te maken waarin de speler de loop juist moet doorbreken. De speler werkt in een pannenkoeken kraam en maakt elke dag pannenkoeken voor [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1462","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/wesleydegraaf.com\/en\/wp-json\/wp\/v2\/pages\/1462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wesleydegraaf.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wesleydegraaf.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wesleydegraaf.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wesleydegraaf.com\/en\/wp-json\/wp\/v2\/comments?post=1462"}],"version-history":[{"count":28,"href":"https:\/\/wesleydegraaf.com\/en\/wp-json\/wp\/v2\/pages\/1462\/revisions"}],"predecessor-version":[{"id":1502,"href":"https:\/\/wesleydegraaf.com\/en\/wp-json\/wp\/v2\/pages\/1462\/revisions\/1502"}],"wp:attachment":[{"href":"https:\/\/wesleydegraaf.com\/en\/wp-json\/wp\/v2\/media?parent=1462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}