<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Gamejam on jono shields</title>
    <link>https://jonoshields.com/tags/gamejam/</link>
    <description>Recent content in Gamejam on jono shields</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 01 Mar 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://jonoshields.com/tags/gamejam/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Sips</title>
      <link>https://jonoshields.com/post/sips/</link>
      <pubDate>Wed, 01 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/sips/</guid>
      <description>&lt;p&gt;Time for another GBA Gamejam! This time it is the winter jam, its the smaller of the annual GBA Gamejams. We had 1 month to make something little, this time the Title Screen.&lt;/p&gt;&#xA;&lt;p&gt;Wow. I almost feel called out. The Title Screen is usually the last thing I think of and sometimes skip entirely.&lt;/p&gt;&#xA;&lt;p&gt;A whole month. I could make a pretty popping title screen in that time.&lt;/p&gt;&#xA;&lt;p&gt;So I set to work brainstorming and settled on the idea to make a really vibrant cafe scene. It wouldn&amp;rsquo;t be interactive, but you could sit and people watch.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nuclear Love</title>
      <link>https://jonoshields.com/post/nuclear-love/</link>
      <pubDate>Fri, 11 Nov 2022 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/nuclear-love/</guid>
      <description>&lt;p&gt;You can look at my last couple of posts for my grand desires to compete in GBA Jam 2022. But the best laid plans and all that.&lt;/p&gt;&#xA;&lt;p&gt;I ended up not actually starting any sort of entry until the 28th of October. 3 days till the jam ends.&lt;/p&gt;&#xA;&lt;p&gt;So I sit down with my brother for coffee and we get chatting. It would be cool to do a Halloween themed game since the game ends on October 31st. We spitball some ideas and end up talking about doing a post apocalyptic dating game.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Making a Shoot &#39;em up for the masses</title>
      <link>https://jonoshields.com/post/making-a-shmup-for-the-masses/</link>
      <pubDate>Sun, 04 Sep 2022 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/making-a-shmup-for-the-masses/</guid>
      <description>&lt;h3 id=&#34;kirbys-dreamland&#34;&gt;Kirby&amp;rsquo;s Dreamland&lt;/h3&gt;&#xA;&lt;p&gt;Recently I watched an &lt;a href=&#34;https://www.youtube.com/watch?v=PBRt2D2YN44&#34;&gt;interview&lt;/a&gt; with Masahiro Sakurai, the designer of the original Kirby game among other amazing titles. He talks a bit about the history of platformers and how at that point in time games in general were made to be difficult. Not just for the sake of it mind you, catridges had limited sizes and developers could only fit so much content in there, so to be able to make a longer format game you had to make it hard.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Starting another GBA Jam</title>
      <link>https://jonoshields.com/post/starting-another-gbajam/</link>
      <pubDate>Sun, 31 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/starting-another-gbajam/</guid>
      <description>&lt;h3 id=&#34;the-past-7-months-since-lro&#34;&gt;The past ~7 months since LRO&lt;/h3&gt;&#xA;&lt;p&gt;My plan after LRO was to keep working on it and eventually release a paid edition with a lot more content and airport themed games. That didn&amp;rsquo;t happen. Instead I got distracted. Life got in they way.&lt;/p&gt;&#xA;&lt;p&gt;However over all this time inspiration did strike a number of times.&lt;/p&gt;&#xA;&lt;h3 id=&#34;lro-but-now-a-full-blown-rpg&#34;&gt;LRO, but now a full BLOWN RPG!&lt;/h3&gt;&#xA;&lt;p&gt;I downloaded a ton of stock assets from itch.io and started messing around with the idea of creating a game based in an airport to follow on as a sequel from Luggage Retrieval Officer. The idea is that you have been hired by the airports HR team to create training documentation for all the different roles.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Polishing LRO</title>
      <link>https://jonoshields.com/post/lro-polish/</link>
      <pubDate>Sun, 26 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/lro-polish/</guid>
      <description>&lt;p&gt;Carrying on from the previous post I wanted to talk about further design decisions I made in the last couple of weeks.&lt;/p&gt;&#xA;&lt;h2 id=&#34;using-dialog-to-create-a-narrative-element&#34;&gt;Using Dialog to create a narrative element&lt;/h2&gt;&#xA;&lt;p&gt;At this point the game works. You can complete levels and progress through the rank system from Trainee -&amp;gt; Expert -&amp;gt; Officer. And while the puzzles get harder to help show the progression, there is little else.&lt;/p&gt;&#xA;&lt;p&gt;Can I get away with this? Absolutely. Most classic puzzles games don&amp;rsquo;t offer more than this at all, just take a look at the likes of Dr. Mario and Bust-A-Move.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enhancing Luggage Retrieval Officer</title>
      <link>https://jonoshields.com/post/lro-update/</link>
      <pubDate>Fri, 10 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/lro-update/</guid>
      <description>&lt;h2 id=&#34;the-todo-list&#34;&gt;The Todo List&lt;/h2&gt;&#xA;&lt;p&gt;At the end of the last post I left a todo list with a bunch of features for me to add to the game.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;✔️ Level Select Screens - 40 puzzles and to select between (4 difficulty levels).&lt;/li&gt;&#xA;&lt;li&gt;✔️ New Suitcase select - having a cursor to select the item you want to move instead of tabbing through the suitcases will be a lot easier for most players.&lt;/li&gt;&#xA;&lt;li&gt;✔️ Success Animation - making it more obvious when you have completed a puzzle, rather than just loading the next one.&lt;/li&gt;&#xA;&lt;li&gt;✔️ Tutorial - how to play&lt;/li&gt;&#xA;&lt;li&gt;✔️ Save Progress - puzzle unlocking&lt;/li&gt;&#xA;&lt;li&gt;✔️ More Puzzles&lt;/li&gt;&#xA;&lt;li&gt;✔️ Sliding animations of luggage&lt;/li&gt;&#xA;&lt;li&gt;❌ Dialog screens&lt;/li&gt;&#xA;&lt;li&gt;✔️ Lock harder ranks until easier ranks are completed&lt;/li&gt;&#xA;&lt;li&gt;❌ Levels 41-50&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Pretty good. Pretty, pretty, pretty goooood.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GBA Winter Jam</title>
      <link>https://jonoshields.com/post/gba-winter-jam/</link>
      <pubDate>Wed, 08 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/gba-winter-jam/</guid>
      <description>&lt;h2 id=&#34;another-gamejam&#34;&gt;Another GameJam&lt;/h2&gt;&#xA;&lt;p&gt;Following on from the success of the GBAJam21, the GBAdev community has decided to wrap up the year with a relaxed winter game jam. The optional theme is Frozen.&lt;/p&gt;&#xA;&lt;p&gt;Check it out on Itch.io &lt;a href=&#34;https://itch.io/jam/gba-winter-jam-2021&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;scope&#34;&gt;Scope&lt;/h2&gt;&#xA;&lt;p&gt;Based on the last GBAJam that I did, I knew I had to reel in the scope. There were two games that I kind of had in mind.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A space shoot &amp;rsquo;em up, similar to &lt;a href=&#34;https://en.wikipedia.org/wiki/Uridium&#34;&gt;Uridium&lt;/a&gt; for C64. I could render 3d models to sprites and make some cool rolling animations.&lt;/li&gt;&#xA;&lt;li&gt;A &lt;a href=&#34;https://en.wikipedia.org/wiki/Rush_Hour_(puzzle)&#34;&gt;rush hour&lt;/a&gt; clone, an awesome sliding block puzzle game.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;no-internet-even-less-power&#34;&gt;No Internet, Even less power&lt;/h2&gt;&#xA;&lt;p&gt;This summer (NZ) we are on the road travelling around New Zealand in our little car SoyBean. This means that while I have been able to recharge my phone and look at the jam page, I haven&amp;rsquo;t been able to do any programming.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kiwijam21 - 48HRS - Adapt</title>
      <link>https://jonoshields.com/post/kiwijam21/</link>
      <pubDate>Tue, 27 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/kiwijam21/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;kiwijam21&#34;&gt;Kiwijam21&lt;/h2&gt;&#xA;&lt;p&gt;Kiwijam started on Friday night, at 7pm the theme was announced and our space at The University of Auckland became a hive of activity.&lt;/p&gt;&#xA;&lt;p&gt;The theme - Adapt.&lt;/p&gt;&#xA;&lt;p&gt;My first thoughts were that I wanted to make a game where the player needed to use a Bop-It (TM) to control several different &amp;ldquo;levels&amp;rdquo; where the game changes significantly in between. For example the first level a platformer, the second a racing game, third something else.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Feline - Finishing Touches</title>
      <link>https://jonoshields.com/post/finishing-touches/</link>
      <pubDate>Wed, 07 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/finishing-touches/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam2021--making-a-game-for-the-gameboy-advance&#34;&gt;GBAGameJam2021 | Making a game for the Gameboy Advance&lt;/h2&gt;&#xA;&lt;h3 id=&#34;day-88&#34;&gt;Day 88&lt;/h3&gt;&#xA;&lt;p&gt;It is the last week of the jam and I am cramming like a high school student before exams.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-new-level&#34;&gt;A New Level&lt;/h2&gt;&#xA;&lt;p&gt;I really had to get my a** into g.&lt;/p&gt;&#xA;&lt;p&gt;So I took my dungeon tile sheet, added a filter or three and threw some rocks in there.&lt;/p&gt;&#xA;&lt;img src=&#34;https://jonoshields.com/img/tilemap_other.bmp&#34; class=&#34;pixelated&#34;/&gt;&#xA;&lt;p&gt;Throw in a background and&amp;hellip;&lt;/p&gt;&#xA;&lt;img src=&#34;https://jonoshields.com/img/feline-2.png&#34; class=&#34;pixelated&#34;/&gt;&#xA;&lt;h2 id=&#34;and-a-new-enemy&#34;&gt;And a New Enemy&lt;/h2&gt;&#xA;&lt;p&gt;I don&amp;rsquo;t want to share too much about the story behind this enemy. But I wanted to make something that was a step up in difficulty from the slimes and bats.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using HBlank to add Parallax</title>
      <link>https://jonoshields.com/post/title-screen/</link>
      <pubDate>Wed, 30 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/title-screen/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam2021--making-a-game-for-the-gameboy-advance&#34;&gt;GBAGameJam2021 | Making a game for the Gameboy Advance&lt;/h2&gt;&#xA;&lt;h3 id=&#34;day-81&#34;&gt;Day 81&lt;/h3&gt;&#xA;&lt;p&gt;At first I thought that adding a title screen would be boring, but not when you discover how to use HBlank effects.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What is an HBlank Effect? Well, when the gba draws to the screen it draws in rows, starting at the top and going down. We can make code run in between these rows. Find more detailed info &lt;a href=&#34;https://www.coranac.com/tonc/text/video.htm#sec-blanks&#34;&gt;here&lt;/a&gt; (this is genuinely very much worth the read if you plan to develop for GBA).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adding more lore to Feline</title>
      <link>https://jonoshields.com/post/day-74/</link>
      <pubDate>Wed, 23 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/day-74/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam2021--making-a-game-for-the-gameboy-advance&#34;&gt;GBAGameJam2021 | Making a game for the Gameboy Advance&lt;/h2&gt;&#xA;&lt;h3 id=&#34;day-74&#34;&gt;Day 74&lt;/h3&gt;&#xA;&lt;p&gt;Unfortunately I haven&amp;rsquo;t had much time over the last few weeks to work my GBAJam2021 entry. And I realized today that the deadline is approaching very quickly.&lt;/p&gt;&#xA;&lt;p&gt;In the last post I talked about how important narrative was to me in this game.&lt;/p&gt;&#xA;&lt;p&gt;I decided to add stone tablets dotted around the level that the player could stop and read if they wanted.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mapping out an MVP for Feline</title>
      <link>https://jonoshields.com/post/mapping-out-mvp/</link>
      <pubDate>Tue, 01 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/mapping-out-mvp/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam2021--making-a-game-for-the-gameboy-advance&#34;&gt;GBAGameJam2021 | Making a game for the Gameboy Advance&lt;/h2&gt;&#xA;&lt;h3 id=&#34;day-52&#34;&gt;Day 52&lt;/h3&gt;&#xA;&lt;p&gt;In a previous post I talked a little about how important it is to make a plan. You may be thinking &amp;ldquo;well if I don&amp;rsquo;t have a plan, it is impossible for things to not go as planned&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Well yes. Technically this statement is correct. But it also means that when things don&amp;rsquo;t work, it is hard to pinpoint why. Plans do much more than that though, they create focus and help you to make decisions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jono has a Plan</title>
      <link>https://jonoshields.com/post/jono-has-a-plan/</link>
      <pubDate>Fri, 21 May 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/jono-has-a-plan/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam2021--making-a-game-for-the-gameboy-advance&#34;&gt;GBAGameJam2021 | Making a game for the Gameboy Advance&lt;/h2&gt;&#xA;&lt;h3 id=&#34;day-44&#34;&gt;Day 44&lt;/h3&gt;&#xA;&lt;p&gt;I read a really good post-mortem the other day. One of my key takeaways was simply to have a plan. Not so that you can stick to it, you update it as you go. But so that when things go wrong you can look back and try to figure out why. Like &amp;ldquo;oh, I shouldn&amp;rsquo;t have left the music till the last week&amp;rdquo; ~ probably Jono in a month.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Attacking Animations and Enemies</title>
      <link>https://jonoshields.com/post/player-attacking/</link>
      <pubDate>Mon, 17 May 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/player-attacking/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam2021--making-a-game-for-the-gameboy-advance&#34;&gt;GBAGameJam2021 | Making a game for the Gameboy Advance&lt;/h2&gt;&#xA;&lt;h3 id=&#34;day-40&#34;&gt;Day 40&lt;/h3&gt;&#xA;&lt;p&gt;Okay, so in a lot of projects there comes a part where a lot of work is needed for little reward. I always struggle to find motivation  in these parts. Queue a week of procrastinating.&lt;/p&gt;&#xA;&lt;p&gt;But this week I&amp;hellip;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Refactored the player class so that an instance of Player lasts for the whole game.&lt;/li&gt;&#xA;&lt;li&gt;Added enemy class and an enemy list in the Player class.&lt;/li&gt;&#xA;&lt;li&gt;Adding attacking hitboxes.&lt;/li&gt;&#xA;&lt;li&gt;Struggled with the below problem for a whole day!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;ARHGH!! Okay. So I got stuck on this for ages and it really did my head in. I am trying to use pointers for the first time, so no wonder this kind of thing went wrong.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Animation, Camera and Movement Improvements</title>
      <link>https://jonoshields.com/post/player-improvements/</link>
      <pubDate>Mon, 10 May 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/player-improvements/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam---days-28-32&#34;&gt;GBAGameJam - Days 28-32&lt;/h2&gt;&#xA;&lt;h3 id=&#34;camera-movement&#34;&gt;Camera Movement&lt;/h3&gt;&#xA;&lt;p&gt;Last time I posted an update on the GBA Dev Discord I was recommended &lt;a href=&#34;https://www.gamasutra.com/blogs/ItayKeren/20150511/243083/Scroll_Back_The_Theory_and_Practice_of_Cameras_in_SideScrollers.php?print=1&#34;&gt;an article about camera movement&lt;/a&gt;. And I can highly recommend this to anyone making any sort of 2d game. It made me think for a lot about how the camera should move in my game.&lt;/p&gt;&#xA;&lt;p&gt;When I started the easiest thing was just to set the camera&amp;rsquo;s position to the player. This way the player was always in the centre of the screen. This is called position-locking, and while better than nothing, sometimes it isn&amp;rsquo;t the best experience for the player.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Another Level, Dialogue and NPC&#39;s</title>
      <link>https://jonoshields.com/post/day-27/</link>
      <pubDate>Thu, 06 May 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/day-27/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam---days-24-27&#34;&gt;GBAGameJam - Days 24-27&lt;/h2&gt;&#xA;&lt;h3 id=&#34;off-the-grid&#34;&gt;Off the Grid&lt;/h3&gt;&#xA;&lt;p&gt;The last 3 nights I have been staying in a campsite with no cell reception. But thanks to the awesome docs bundled with Butano, I haven&amp;rsquo;t really hit any major snags.&lt;/p&gt;&#xA;&lt;p&gt;And without the distractions of the internet I have made a lot of progress in the last few days.&lt;/p&gt;&#xA;&lt;h3 id=&#34;new-level&#34;&gt;New Level&lt;/h3&gt;&#xA;&lt;p&gt;Our story has to start somewhere, and the idea being that the bad guy broke in and kidnapped our hero&amp;rsquo;s family. We should start there. At home.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Will this be a game?</title>
      <link>https://jonoshields.com/post/day-23/</link>
      <pubDate>Sun, 02 May 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/day-23/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam---days-20-23&#34;&gt;GBAGameJam - Days 20-23&lt;/h2&gt;&#xA;&lt;h3 id=&#34;lets-talk-game-design&#34;&gt;Lets talk game design&lt;/h3&gt;&#xA;&lt;p&gt;Okay. We are at the point where I need to try to figure out if this is going to be a real game or not. So I came up with a game design pitch, another level, a world map, abilities, collectables and more.&lt;/p&gt;&#xA;&lt;h3 id=&#34;pitch&#34;&gt;Pitch&lt;/h3&gt;&#xA;&lt;p&gt;You arrive home to find your place in ruins, your wife and children are missing. Find out what happened and save them by unlocking the secrets of the past hidden under the island you have lived your whole life.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Animation States and Dash Ability</title>
      <link>https://jonoshields.com/post/day-20/</link>
      <pubDate>Thu, 29 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/day-20/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam---days-18-20&#34;&gt;GBAGameJam - Days 18-20&lt;/h2&gt;&#xA;&lt;h3 id=&#34;more-refactoring&#34;&gt;More refactoring&lt;/h3&gt;&#xA;&lt;p&gt;Okay, so last time we pulled some stuff out into classes. Now after learning some more I have created .h and .cpp files for my new hitbox and player classes.&lt;/p&gt;&#xA;&lt;p&gt;At this point comparing c++ to other languages I have used before an header file is kind of like an interface or an abstract class. But also at the same time it is absolutely not that. I think.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Refactor and Acceleration</title>
      <link>https://jonoshields.com/post/day-17/</link>
      <pubDate>Mon, 26 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/day-17/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam---days-14-17&#34;&gt;GBAGameJam - Days 14-17&lt;/h2&gt;&#xA;&lt;h3 id=&#34;major-refactor---classes&#34;&gt;Major Refactor - Classes&lt;/h3&gt;&#xA;&lt;p&gt;So. How do classes in C++ work? Yeah, that took some googling on its own. Actually just trying to figure out the weirdness of their constructors was time consuming.&lt;/p&gt;&#xA;&lt;p&gt;I ended up making a hitbox class that I could use for my character. This is what it looks like&amp;hellip;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Hitbox&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; _x;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; _y;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; _width;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; _height;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        Hitbox(&lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; x, &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; y, &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; width, &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; height)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; _x(x), _y(y), _width(width), _height(height)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; _x;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; _y;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;width&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; _width;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;height&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; _height;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;};&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This is clearly not something that you should be learning from me though. So I will leave a few links here..&lt;/p&gt;</description>
    </item>
    <item>
      <title>Collisions, Music and More</title>
      <link>https://jonoshields.com/post/day-13/</link>
      <pubDate>Thu, 22 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/day-13/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam---day-13&#34;&gt;GBAGameJam - Day 13&lt;/h2&gt;&#xA;&lt;h3 id=&#34;collisions&#34;&gt;Collisions&lt;/h3&gt;&#xA;&lt;p&gt;This should be fun.&lt;/p&gt;&#xA;&lt;p&gt;FYI I first learned collision logic making a similar platformer in pico8. I found &lt;a href=&#34;https://www.youtube.com/watch?v=-hejwsu9A9g&#34;&gt;these tutorials&lt;/a&gt; invaluable for that. And I think its a great resource that can be applied in any programming language even though the examples are lua &amp;amp; pico8 specific.&lt;/p&gt;&#xA;&lt;p&gt;This should be easy now that we can get map data.&lt;/p&gt;&#xA;&lt;p&gt;So first off I am making a simple method to apply gravity so that we can move better.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Detecting Map Tiles</title>
      <link>https://jonoshields.com/post/day-12/</link>
      <pubDate>Wed, 21 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/day-12/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam---day-12&#34;&gt;GBAGameJam - Day 12&lt;/h2&gt;&#xA;&lt;p&gt;Okay. I did it!&lt;/p&gt;&#xA;&lt;p&gt;I figured out how to get map data so I can start using tile data to figure out collisions.&lt;/p&gt;&#xA;&lt;p&gt;So as before. We have our bg that we made..&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;bn::affine_bg_ptr map_bg = bn::affine_bg_items::map.create_bg(256, 256);&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;And I finally found out that you can call &lt;code&gt;map_bg.map().cells_ref()&lt;/code&gt; to get the pointer to the cells of the map. You can then call &lt;code&gt;.value()&lt;/code&gt; on it to get the actual data in a &lt;a href=&#34;https://gvaliente.github.io/butano/classbn_1_1span.html&#34;&gt;span&lt;/a&gt; (kind of like an array?).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Yeah, its going okay</title>
      <link>https://jonoshields.com/post/day-4-11/</link>
      <pubDate>Tue, 20 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/day-4-11/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam---days-4-to-11&#34;&gt;GBAGameJam - Days 4 to 11&lt;/h2&gt;&#xA;&lt;p&gt;Okay. So I may have been scared off a little by C++ again and a little frustrated at my self for not trying harding or digging deeper.&lt;/p&gt;&#xA;&lt;p&gt;This week hasn&amp;rsquo;t been very good.&lt;/p&gt;&#xA;&lt;p&gt;But that isn&amp;rsquo;t to say I haven&amp;rsquo;t done anything. The &lt;a href=&#34;https://discord.io/gbadev&#34;&gt;gbaDev discord&lt;/a&gt; is buzzing with activity and I am enjoying learning little bits and pieces about the GBA, dev tools and other random projects people are working on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Animation, Movement and Backgrounds</title>
      <link>https://jonoshields.com/post/day-3/</link>
      <pubDate>Tue, 13 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/day-3/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam---day-3&#34;&gt;GBAGameJam - Day 3&lt;/h2&gt;&#xA;&lt;h3 id=&#34;animation&#34;&gt;Animation&lt;/h3&gt;&#xA;&lt;p&gt;Today I am tackling animation, not for any specific purpose, but just because I have the assets for them already.&lt;/p&gt;&#xA;&lt;p&gt;We can use Butano&amp;rsquo;s &lt;code&gt;create_sprite_animate_action_forever&lt;/code&gt; to kick off the animation.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Also just note that throughout using Butano you will see the use of Actions, they allow you to do transformations to a sprite over time. Read more &lt;a href=&#34;https://gvaliente.github.io/butano/group__action.html&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;So getting the animation working is pretty simple&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Let&#39;s draw a sprite!</title>
      <link>https://jonoshields.com/post/day-2/</link>
      <pubDate>Mon, 12 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/day-2/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;gbagamejam---day-2&#34;&gt;GBAGameJam - Day 2&lt;/h2&gt;&#xA;&lt;p&gt;Okay lets do this. Lets try to get as far as I can doing this with assets from an old game.&lt;/p&gt;&#xA;&lt;p&gt;This is the Butano Sprite Example..&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;/*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; * Copyright (c) 2020-2021 Gustavo Valiente gustavo.valiente@protonmail.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; * zlib License, see LICENSE file.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sprites_visibility_scene&lt;/span&gt;(bn&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;sprite_text_generator&lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&lt;/span&gt; text_generator)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;constexpr&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; bn&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;string_view info_text_lines[] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A: hide/show sprite&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;START: go to next scene&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        };&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        info info(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sprites visibility&amp;#34;&lt;/span&gt;, info_text_lines, text_generator);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        bn&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;sprite_ptr red_sprite &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; bn&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;sprite_items&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;red_sprite.create_sprite(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt;(&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt; bn&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;keypad&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;start_pressed())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt;(bn&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;keypad&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;a_pressed())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                red_sprite.set_visible(&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt; red_sprite.visible());&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            info.update();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            bn&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;core&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;update();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;But really the only thing we need is &lt;code&gt;bn::sprite_ptr red_sprite = bn::sprite_items::red_sprite.create_sprite(0, 0);&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Joining GBAJam</title>
      <link>https://jonoshields.com/post/gamejam-day-1/</link>
      <pubDate>Sun, 11 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://jonoshields.com/post/gamejam-day-1/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;day-1-of-the-gbagamejam21&#34;&gt;Day 1 of the GBAGameJam21&lt;/h2&gt;&#xA;&lt;p&gt;I normally use much higher level languages, python, javascript, c#. But looking at the example code for Butano and seeing all of these :: confuses me a lot.&lt;/p&gt;&#xA;&lt;p&gt;Maybe I could map all of this to a language that I know. Googles &amp;ldquo;Lua bridge&amp;rdquo; furiously.&lt;/p&gt;&#xA;&lt;p&gt;Eventually gives up.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
