{"id":1648,"date":"2021-07-28T09:15:46","date_gmt":"2021-07-28T09:15:46","guid":{"rendered":"https:\/\/www.patricioland.com\/?p=1648"},"modified":"2021-08-24T14:55:58","modified_gmt":"2021-08-24T14:55:58","slug":"gdd730-week-5","status":"publish","type":"post","link":"https:\/\/www.patricioland.com\/?p=1648","title":{"rendered":"GDD730 Week 5"},"content":{"rendered":"<p align=\"LEFT\"><img fetchpriority=\"high\" class=\"wp-image-1796 alignleft\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/bluecontrol.png\" alt=\"\" width=\"300\" height=\"327\" srcset=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/bluecontrol.png 450w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/bluecontrol-276x300.png 276w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><span style=\"color: #5d72b3;\">Taking advantage of this week&#8217;s rubric, normalisation of tasks, I think it is appropriate to talk about how Phil and I approached the coding management of the prototype.<\/span><\/p>\n<p align=\"LEFT\"><span style=\"color: #5d72b3;\">\u00a0<\/span><\/p>\n<p><!--more--><\/p>\n<p><span class=\"Apple-converted-space\">After having decided to make the whole development with <strong>Unity<\/strong>, I did not think it convenient to insist on the possibility of using visual programming as<a href=\"https:\/\/www.patricioland.com\/?p=339\" target=\"_blank\" rel=\"noopener\"> I did before using Playmaker during GDD710.<\/a> It is not the right moment to overload my partner\u2019s work and make him worried about investing extra time learning how to use <strong>Game Maker Studio 2<\/strong>. So I had to dust off my <strong>C Sharp<\/strong> notes, and in just a few days, I made up for the pleasure by programming in the traditional way.<br \/>\nI was aware of the fact that this procedure would be shared by two persons at least. Fortunately, <strong>Phil<\/strong> is very organized and clear, which helped me understand his code without major difficulties and I tried to do the same. Even more: w<\/span>ithout realizing it, both of us were carrying out our research by using the same tutorials and technical guides, which was a great relief. We both agreed on the use of <a href=\"https:\/\/visualstudio.microsoft.com\" target=\"_blank\" rel=\"noopener\"><strong>Visual Studio<\/strong><\/a> as integrated development environment editor.<\/p>\n<h1><span style=\"color: #cc99ff;\">Clean code and norming<\/span><\/h1>\n<div class=\"page\" title=\"Page 17\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<blockquote><p>A major misunderstanding is to confuse clean code with something that can be called \u201cbeautiful code.\u201d Clean code has no beauty reasons. Professional programmers are not paid for writing beautiful or pretty code. They are hired by development companies as experts to create customer value. <strong>(Roth 2017)<\/strong><\/p><\/blockquote>\n<ul>\n<li>Code is clean if it can be understood and maintained easily by any team member.<\/li>\n<li>Clean code is the basis for being fast. If your code is clean and test coverage is good, a change or a new function just take a few hours or a couple of days \u2013 and not weeks or months \u2013 until it is implemented, tested, and deployed.<\/li>\n<li>Clean code is the foundation for sustainable software and keeps a software development project running over a long time without accumulating a large amount of technical debt. Developers must actively tend the software and ensure it stays in shape because the code is crucial for survival of a software development organization.<\/li>\n<li>Clean code is also a key to make you a happier developer. It leads to a stress-free life. If your code is clean and you\u2019re feeling comfortable with it, you can keep calm in every situation, even in front of a tight project deadline.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><em>But how to know if we&#8217;re producing clean code without being experts?<\/em><\/p>\n<figure id=\"attachment_2179\" aria-describedby=\"caption-attachment-2179\" style=\"width: 272px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Code.png\" target=\"_blank\" rel=\"noopener\"><img class=\"wp-image-2179 size-medium\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Code-272x300.png\" alt=\"Fig - Excerpt of the script developed by Phil and me for the game in C#\" width=\"272\" height=\"300\" srcset=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Code-272x300.png 272w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Code-928x1024.png 928w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Code-768x847.png 768w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Code-1393x1536.png 1393w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Code-1000x1103.png 1000w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Code.png 1427w\" sizes=\"(max-width: 272px) 100vw, 272px\" \/><\/a><figcaption id=\"caption-attachment-2179\" class=\"wp-caption-text\">Fig 1 &#8211; Excerpt of the script developed by Phil and me for the game, in C#<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>For starters, when there were doubts related to certain parts of the routines, we try to clarify them via chat as much as possible. Even if I agree with the self-documenting code philosophy, where no comments are required to explain its purpose, we decided to add \u00a0detailed comments to the code to helps us to keep track of \u00a0issues.<\/p>\n<figure id=\"attachment_2484\" aria-describedby=\"caption-attachment-2484\" style=\"width: 840px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/github-backlog_full-scaled.jpg\" target=\"_blank\" rel=\"noopener\"><img class=\"wp-image-2484 size-large\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/github-backlog3-1024x984.jpg\" alt=\"Fig 2 - GitHub backlog for Keep It Burning development (click to view the full version)\" width=\"840\" height=\"807\" srcset=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/github-backlog3-1024x984.jpg 1024w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/github-backlog3-300x288.jpg 300w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/github-backlog3-768x738.jpg 768w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/github-backlog3-1536x1476.jpg 1536w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/github-backlog3-2048x1968.jpg 2048w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/github-backlog3-1000x961.jpg 1000w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/github-backlog3-312x300.jpg 312w\" sizes=\"(max-width: 840px) 100vw, 840px\" \/><\/a><figcaption id=\"caption-attachment-2484\" class=\"wp-caption-text\">Fig 2 &#8211; GitHub backlog for Keep It Burning development (click to view the full version)<\/figcaption><\/figure>\n<div class=\"page\" title=\"Page 40\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p>Do the simplest thing that could work is our mantra for this project, our personal mix of the the <strong>KISS<\/strong> (keep it simple, stupid) \u00a0and <strong>YAGNI<\/strong> (You Aren\u2019t Gonna Need It!) principles.<\/p>\n<p>Concerning naming a few rules like avoiding cryptic abbreviations, using self explanatory names for classes, functions and variables It has been enough not to have to pull our hair out!. So far, so good.<\/p>\n<p>Back to <strong>Unity,<\/strong> in the beginning, <strong>Phil<\/strong> and I were working individually, each one of us in our own builds. We were a little afraid of the process to merge both resident codes in separate branches of the repository into a single one. In fact, it took quite some time until the <strong>GitHub<\/strong> repository configuration were prepared to do it.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<h1><span style=\"color: #cc99ff;\"><b>Weekly challenge:\u00a0Team Charter<\/b><\/span><\/h1>\n<p>As part of the weekly challenge, the team put together the <a href=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/Team_Charter.pdf\" target=\"_blank\" rel=\"noopener\">Team Charter document <\/a>that includes the following aspects: mission statement, team members and their interests, skills and competencies,\u00a0meeting management, norms of conduct, decision ,making, communication plan, handling conflicts and consistency and team goals among other points. An <a href=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/Team-Charter-Addendum-1.pdf\" target=\"_blank\" rel=\"noopener\">addendum<\/a> has been incorporated to the main document later on.<\/p>\n<div class=\"page\" title=\"Page 1\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<blockquote><p>The Wild Branch is committed to making games that can grow with the ever changing audiences of today, through humorous puzzle adventures.<strong> (Wild Branch mission statement 2021)<br \/>\n<\/strong><\/p><\/blockquote>\n<figure id=\"attachment_2346\" aria-describedby=\"caption-attachment-2346\" style=\"width: 2424px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"wp-image-2346 size-full\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/pixelteam.jpg\" alt=\"Fig 2 - The Wild Branch team: Patricio Land, Will Ward, Debbie Norton and Phil Lakin\" width=\"2424\" height=\"568\" srcset=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/pixelteam.jpg 2424w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/pixelteam-300x70.jpg 300w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/pixelteam-1024x240.jpg 1024w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/pixelteam-768x180.jpg 768w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/pixelteam-1536x360.jpg 1536w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/pixelteam-2048x480.jpg 2048w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/pixelteam-1000x234.jpg 1000w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/pixelteam-800x187.jpg 800w\" sizes=\"(max-width: 2424px) 100vw, 2424px\" \/><figcaption id=\"caption-attachment-2346\" class=\"wp-caption-text\">Fig 3 &#8211; The Wild Branch team: Patricio Land, Will Ward, Debbie Norton and Phil Lakin<\/figcaption><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"page\" title=\"Page 40\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<figure id=\"attachment_2512\" aria-describedby=\"caption-attachment-2512\" style=\"width: 350px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/08\/Team_Charter.pdf\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" class=\"wp-image-2512\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/team-charter-capture.jpg\" alt=\"Fig 3 - Team Charter for the Wild Branch (click to access the full document)\" width=\"350\" height=\"438\" srcset=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/team-charter-capture.jpg 769w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/team-charter-capture-240x300.jpg 240w\" sizes=\"(max-width: 350px) 100vw, 350px\" \/><\/a><figcaption id=\"caption-attachment-2512\" class=\"wp-caption-text\">Fig 4 &#8211; Team Charter for the Wild Branch (click to access the full document)<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<h1><span style=\"color: #cc99ff;\">My personal contribution to the project (3): Input systems<\/span><\/h1>\n<p>It was not even easy to divide the tasks since both of were very excited to start working in the demo game mechanisms, specially the quest system. It seemed important to me to put into practice all my reading about task delegation and not pretend to do everything by myself.\u00a0By mutual agreement, we established that he would be in charge of the quests and level design while I would be in charge of the <strong>movement system<\/strong>, <strong>the inventory<\/strong>, and <strong>the screen menus<\/strong>, <strong>including the basic UI<\/strong>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<h1><span style=\"color: #cc99ff;\"><b>Exploring Unity&#8217;s New Input System<\/b><\/span><\/h1>\n<p>As your may have read on my previous entry, I have been working on the player&#8217;s movement. Commenting on this to <strong>Giovanni<\/strong>, he asked us if we had considered some other type of input device to control the game as a gamepad or PC control. As we did not, So this week I started thinking about it. When researching on the subject, I discovered that for some time now, <strong>Unity<\/strong> officially incorporated an asset known as <strong>New Input System<\/strong>. Traditionally If you want your game to support different platforms, you need to write code to handle the logic for different devices, with the complexity that this involves.<br \/>\nThe new input system helps developers deal with this situation providing a binding architecture.\u00a0Now we are allowed to separate each device input from our code actions meaning that as programmers, we only need to handle the actions the player triggers.\u00a0An input event in the new system is called an action\u00a0while the mapping between an action and an input device is a binding.<\/p>\n<p>This new support includes:<\/p>\n<ul>\n<li>Keyboard<\/li>\n<li>Mouse<\/li>\n<li>Pen<\/li>\n<li>TouchScreen<\/li>\n<li>Sensor<\/li>\n<li>Joystick<\/li>\n<li>GamePad<\/li>\n<\/ul>\n<figure id=\"attachment_1755\" aria-describedby=\"caption-attachment-1755\" style=\"width: 1920px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/New-input-system.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" class=\"wp-image-1755 size-full\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/New-input-system.jpg\" alt=\"Fig 1 - Unity's new input system flowchart\" width=\"1920\" height=\"669\" srcset=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/New-input-system.jpg 1920w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/New-input-system-300x105.jpg 300w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/New-input-system-1024x357.jpg 1024w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/New-input-system-768x268.jpg 768w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/New-input-system-1536x535.jpg 1536w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/New-input-system-1000x348.jpg 1000w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/New-input-system-800x279.jpg 800w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><figcaption id=\"caption-attachment-1755\" class=\"wp-caption-text\">Fig 5 &#8211; Unity&#8217;s new input system flowchart<\/figcaption><\/figure>\n<h1><span style=\"color: #cc99ff;\">What went wrong?<\/span><\/h1>\n<p>While it was always possible for me to use the proven routines to read the keyboard and mouse position without going through this<strong> New Input System\u00a0<\/strong>as I did so many times in the past, I decided to take the hard way in order to learn some new stuff here.<\/p>\n<p>Once I was less confused about the operation of this input handling system, I decided to use it in order to try new things and learn the modern techniques for this engine. It was quite a challenge as most online tutorials only covers how to move a character using the keyboard but not the mouse as an input device.<\/p>\n<figure id=\"attachment_1769\" aria-describedby=\"caption-attachment-1769\" style=\"width: 1920px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/animationmodule.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" class=\"wp-image-1769 size-full\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/animationmodule.jpg\" alt=\"Fig 2 - Unity animation module\" width=\"1920\" height=\"401\" srcset=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/animationmodule.jpg 1920w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/animationmodule-300x63.jpg 300w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/animationmodule-1024x214.jpg 1024w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/animationmodule-768x160.jpg 768w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/animationmodule-1536x321.jpg 1536w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/animationmodule-1000x209.jpg 1000w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/animationmodule-800x167.jpg 800w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><figcaption id=\"caption-attachment-1769\" class=\"wp-caption-text\">Fig 6 &#8211; Unity animation module<\/figcaption><\/figure>\n<p>The next step was to import the animations for the main character (at this point, an enjoyable male character provided by <strong>Will<\/strong>) and \u00a0link the animations to the script managing the movement via the <strong>Animation Module<\/strong> of <strong>Unity<\/strong>.<\/p>\n<p>To my great surprise, this turned out to be much more complicated than I predicted, and I spent most of the day trying to control the flow of the animations, from an initial idle state to the right or left animation cycle (following the mouse click on the map) to return to an initial state of idle. I&#8217;m not a big fan of the animation module by the way.\u00a0Many hours of unsuccessful attempts made me go to bed with a bitter feeling of frustration, but as always happens to me, some new idea or approach would occur to me in the morning.<\/p>\n<h1><span style=\"color: #cc99ff;\"><b>Tomorrow it will work&#8230;<\/b><\/span><\/h1>\n<p>It never fails! (well, almost never to be honest). Today I decided to use another implementation of the <strong>Animation Module<\/strong>, in order to control the animation clips from the C# script that handles the player&#8217;s movement.<br \/>\nThis other way is called <strong>Blend Trees<\/strong> and I never used it before. The basic idea is to join all the animations under a same controller and to trigger each individual clip using a numeric value (or range or threshold).\u00a0This technic performed like a charm and I was able to get it working in less than an hour.<br \/>\nThanks to my effort to get out of my comfort zone, I learned two handy new techniques in <strong>Unity<\/strong>.<\/p>\n<figure id=\"attachment_1761\" aria-describedby=\"caption-attachment-1761\" style=\"width: 391px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"wp-image-1761 size-full\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Animation.gif\" alt=\"Fig 2 - Using Blend Trees to control the player behaviours\" width=\"391\" height=\"421\" \/><figcaption id=\"caption-attachment-1761\" class=\"wp-caption-text\">Fig 7 &#8211; Using Blend Trees to control the player behaviours<\/figcaption><\/figure>\n<p>As it was an early decision to build the prototype with the very basic requirements, \u00a0instead of having \u00a08 different sprite animations for the walks, we only have 2 and 1 idle cycles. Good enough to test and to show my progress to the rest of the team!.<\/p>\n<figure id=\"attachment_1775\" aria-describedby=\"caption-attachment-1775\" style=\"width: 510px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"wp-image-1775 size-full\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Recording6.gif\" alt=\"Fig 5 - Controlling the main character with the mouse\" width=\"510\" height=\"318\" \/><figcaption id=\"caption-attachment-1775\" class=\"wp-caption-text\">Fig 8 &#8211; Controlling the main character with the mouse<\/figcaption><\/figure>\n<p>In addition to everything explained above about movement control, we were struggling to create a logo for the game for almost a week,\u00a0and even though half the team underestimated the importance of it, I was persuaded that it was a good idea to include during the presentation. We put a lot of work on the early sketches,\u00a0but nothing we had so far reflected enough the main concept of the game, <em>so I took my chances<\/em>.<\/p>\n<h1><span style=\"color: #cc99ff;\"><b>My personal contribution to the project (4):\u00a0<\/b><\/span><span style=\"color: #cc99ff;\"><b>The game Style Chart<\/b><\/span><\/h1>\n<p>After a few hours of doodling and research I found a set of original photographs from a series of petroglyphs discovered on the late eighties in Mexico, near the <a href=\"https:\/\/www.uaeh.edu.mx\/scige\/boletin\/ida\/n2\/e1.html\" target=\"_blank\" rel=\"noopener\">Hidalgo caves<\/a>. A set of\u00a0different motifs that narrate the origins of humanity in this part of the planet, generally associated with caves or rock shelters, which should have served as a home or refuge.<br \/>\nEven if it was not the same ethnic group, geographical place, or exact time period in which we had imaginatively anchored our project, everything we need was there!<br \/>\n<em>Big\u00a0thanks to the original artist, whoever it was.<\/em><\/p>\n<figure id=\"attachment_1610\" aria-describedby=\"caption-attachment-1610\" style=\"width: 1920px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" class=\"wp-image-1610 size-full\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/cave_logo.jpg\" alt=\"Fig 2 - Ancient cave paintings from Hidalgo's Cave in Mexico and the logo I design upon them\" width=\"1920\" height=\"1080\" srcset=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/cave_logo.jpg 1920w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/cave_logo-300x169.jpg 300w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/cave_logo-1024x576.jpg 1024w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/cave_logo-768x432.jpg 768w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/cave_logo-1536x864.jpg 1536w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/cave_logo-1000x563.jpg 1000w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/cave_logo-533x300.jpg 533w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><figcaption id=\"caption-attachment-1610\" class=\"wp-caption-text\">Fig 9 &#8211; Ancient cave paintings from Hidalgo&#8217;s Cave in Mexico and the logo I designed<\/figcaption><\/figure>\n<p>I felt inspired, so I also did another logo, this time for the team itself:<\/p>\n<figure id=\"attachment_1631\" aria-describedby=\"caption-attachment-1631\" style=\"width: 284px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"wp-image-1631 size-full\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Wild-Branch-Team-Logo.png\" alt=\"Fig 2 - The Wild Branch team logo\" width=\"284\" height=\"208\" \/><figcaption id=\"caption-attachment-1631\" class=\"wp-caption-text\">Fig 10 &#8211; The Wild Branch team logo<\/figcaption><\/figure>\n<p>Once I was satisfied with both, I added the typography and the colour palette using Adobe Illustrator during the process. The following is the final<strong> Style Guide<\/strong> for the game:<\/p>\n<figure id=\"attachment_1655\" aria-describedby=\"caption-attachment-1655\" style=\"width: 725px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/Keep-it-burning-style-guide.pdf\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" class=\"wp-image-1655 size-large\" src=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/KIBstyle-725x1024.jpg\" alt=\"Fig 3 - Style guide for Keep It Burning \" width=\"725\" height=\"1024\" srcset=\"https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/KIBstyle-725x1024.jpg 725w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/KIBstyle-212x300.jpg 212w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/KIBstyle-768x1085.jpg 768w, https:\/\/www.patricioland.com\/wp-content\/uploads\/2021\/07\/KIBstyle.jpg 800w\" sizes=\"(max-width: 725px) 100vw, 725px\" \/><\/a><figcaption id=\"caption-attachment-1655\" class=\"wp-caption-text\">Fig 11 &#8211; Style guide for Keep It Burning<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>As I wrote before, I also took the initiative on the full pitch deck development. It was not my first time creating this kind of documentation (you can find a similar set of slides for another of my projects here) and as I did before, I got a lot of good advise from\u00a0\u00a0this live conference about how to pitch a game by <strong>Jason Della Rocca<\/strong> in which I participated last year. \u00a0I also shared this video with the rest of the group, weeks ahead from the pitching date, and <strong>Will<\/strong> made this set of notes from it. He also provided me with important statistics from <a href=\"https:\/\/steamspy.com\" target=\"_blank\" rel=\"noopener\">Steam Spy<\/a> that I compared and matched with additional information from <a href=\"https:\/\/steamcharts.com\" target=\"_blank\" rel=\"noopener\">Steam Charts<\/a>\u00a0site. <strong>Debbie&#8217;s<\/strong> illustrations were fundamental to show the characters to the audience, and <strong>Phil\u00a0<\/strong>seemed very satisfied after proofreading the final deck.<\/p>\n        <style>\r\n            #player1601{\r\n                max-width: 100%;\r\n                margin: 0 auto;\r\n            }\r\n                    <\/style>\r\n        <div>\r\n            <div id=\"player1601\">\r\n                <div class=\"plyr__video-embed embed-container\" id=\"player\">\r\n                    <iframe\r\n                        src=\"https:\/\/www.youtube.com\/embed\/https:\/\/www.youtube.com\/watch?v=U2SLVyCbHZk\"\r\n                        allowfullscreen\r\n                        allowtransparency\r\n                        allow=\"autoplay\"\r\n                    ><\/iframe>\r\n                <\/div>\r\n                <script type=\"text\/javascript\">\r\n                    const player1601 = new Plyr('#player1601 #player', {\r\n                        controls:[\"play-large\",\"play\",\"progress\",\"duration\",\"mute\",\"volume\",\"settings\",\"fullscreen\"],\r\n                        youtube: { noCookie: false, rel: 0, showinfo: 0, iv_load_policy: 3, modestbranding: 1, start: 0} \/\/pro \r\n                    });\r\n                <\/script>\r\n            <\/div>\r\n        <\/div>\r\n        \n<p>Another amazing talk was this one below from <a href=\"https:\/\/www.google.com\/search?client=safari&amp;rls=en&amp;q=pocket+gamer+connects+digital+%235&amp;ie=UTF-8&amp;oe=UTF-8\" target=\"_blank\" rel=\"noopener\"><strong>Pocket Gamer&#8217;s Connect Digital 5<\/strong><\/a>, \u00a0performed by <strong>Mado Holvo\u00ebt<\/strong> from\u00a0MI-CLOS Studio as part of the content for the Incredible Indies channel, called\u00a0<em>The Narrative Process to Prepare Your Game Production.<\/em><\/p>\n        <style>\r\n            #player1605{\r\n                max-width: 100%;\r\n                margin: 0 auto;\r\n            }\r\n                    <\/style>\r\n        <div>\r\n            <div id=\"player1605\">\r\n                <div class=\"plyr__video-embed embed-container\" id=\"player\">\r\n                    <iframe\r\n                        src=\"https:\/\/www.youtube.com\/embed\/https:\/\/www.youtube.com\/watch?v=gCymGRe_pmI&t=1s\"\r\n                        allowfullscreen\r\n                        allowtransparency\r\n                        allow=\"autoplay\"\r\n                    ><\/iframe>\r\n                <\/div>\r\n                <script type=\"text\/javascript\">\r\n                    const player1605 = new Plyr('#player1605 #player', {\r\n                        controls:[\"play-large\",\"play\",\"progress\",\"duration\",\"mute\",\"volume\",\"settings\",\"fullscreen\"],\r\n                        youtube: { noCookie: false, rel: 0, showinfo: 0, iv_load_policy: 3, modestbranding: 1, start: 0} \/\/pro \r\n                    });\r\n                <\/script>\r\n            <\/div>\r\n        <\/div>\r\n        \n<p>https:\/\/drive.google.com\/file\/d\/1FESQosZRp8qaVZgsCJl5ziQnZKOKo18e\/view<\/p>\n<p><span style=\"color: #3366ff;\"><strong>List of figures<\/strong><\/span><\/p>\n<p>Fig 1. Excerpt of the script developed by Phil Lakin and myself for the game prototype, in C#<br \/>\nFig 2 &#8211; GitHub backlog for Keep It Burning development (click to view the full version)<br \/>\nFig 3. Wild Branch team members. Pixel art by Will Ward.<br \/>\nFig 4. Team Charter for the Wild Branch. By the author.<br \/>\nFig 5. Unity&#8217;s new input system flowchart. Scheme by the author.<br \/>\nFig 6. Unity&#8217;s traditional animation module. Screen capture by the author.<br \/>\nFig 7. Unity&#8217;s blender trees. Screen capture by the author.<br \/>\nFig 8. Controlling the main character with the mouse. Capture by the author.<br \/>\nFig 9. Ancient cave paintings from Hidalgo&#8217;s Cave and game logo for Keep it Burning created by the author.<br \/>\nFig 10. Logo for the Wild Branch Team created by the author.<br \/>\nFig 11. Style guide for Keep It Burning created by the author.<\/p>\n<p><strong style=\"color: #3366ff;\">References<\/strong><\/p>\n<p>Thomas D, Orland K, Steinberg S. 2007. &#8216;<em>Video Games\u00a0Style Guide and Reference Manual<\/em>&#8216; . Power Play Publishing ISBN 978-1-4303-1305- www.gamestyleguide.com<\/p>\n<p>Wenderlich \u00a0R . 2020. &#8216;<em>New Unity Input System: Getting Starting<\/em>&#8216;.\u00a0[online] Available at:&lt;https:\/\/www.raywenderlich.com\/9671886-new-unity-input-system-getting-started&gt; [Accessed 8 July 2021].<\/p>\n<p>Unity Manual <em>New Input System<\/em> &lt;https:\/\/docs.unity3d.com\/Packages\/com.unity.inputsystem@1.0\/manual\/QuickStartGuide.html&gt;<\/p>\n<p>Sutter H, Alexandrescu A. 2019 &#8216;<em>C++ Coding Standards 101 Rules, Guidelines, and Best Practices<\/em>&#8216;. Pearson Education Inc.<\/p>\n<p>Roth S. 2017. &#8216;<em>Clean C++: Sustainable Software Development Patterns and Best Practices with C++<\/em><span class=\"Apple-converted-space\"><em>\u00a017<\/em>&#8216;.\u00a0<\/span>Springer Science + Business Media<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Taking advantage of this week&#8217;s rubric, normalisation of tasks, I think it is appropriate to talk about how Phil and I approached the coding management of the prototype. \u00a0<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[18],"tags":[354,356,350,358,372,362,352,368,370,482,70,360,374],"_links":{"self":[{"href":"https:\/\/www.patricioland.com\/index.php?rest_route=\/wp\/v2\/posts\/1648"}],"collection":[{"href":"https:\/\/www.patricioland.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.patricioland.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.patricioland.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.patricioland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1648"}],"version-history":[{"count":77,"href":"https:\/\/www.patricioland.com\/index.php?rest_route=\/wp\/v2\/posts\/1648\/revisions"}],"predecessor-version":[{"id":1890,"href":"https:\/\/www.patricioland.com\/index.php?rest_route=\/wp\/v2\/posts\/1648\/revisions\/1890"}],"wp:attachment":[{"href":"https:\/\/www.patricioland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1648"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.patricioland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1648"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.patricioland.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1648"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}