Jekyll2022-02-02T14:49:09+00:00/feed.xmlGunHero Development BlogDevelopment Blog For GunHero.
Canyon & Workshop Update2018-06-01T15:37:00+00:002018-06-01T15:37:00+00:00/2018/06/01/Canyon_and_Workshop_Update<p>It’s been a while. A long while. Anyways, I felt like updating the blog. Here’s some stuff about the just released canyon & workshop update.</p>
<p>Here’s the trailer, which turned out pretty cool:</p>
<div class="embed-responsive embed-responsive-16by9"><iframe allowfullscreen="allowfullscreen" class="video" frameborder="0" height="50%" src="https://www.youtube.com/embed/_T3mx1jz5tM?showinfo=0&rel=0" width="100%"></iframe></div>
<p>So yeah, GunHero has Steam Workshop support now and the update also adds 25 new canyon-themed challenging levels to the campaign.</p>
<p>Anyways, instead of repeating what I’ve said elsewhere, I’ll just drop two links. The Steam announcement includes a more detailed description about the changes, while the IndieDB post describes the development process of the update:</p>
<ul>
<li><a href="https://www.indiedb.com/games/gunhero/news/gunhero-workshop-canyon-update">https://www.indiedb.com/games/gunhero/news/gunhero-workshop-canyon-update</a></li>
<li><a href="https://steamcommunity.com/games/568840/announcements/detail/1675782681614034735">https://steamcommunity.com/games/568840/announcements/detail/1675782681614034735</a></li>
</ul>It’s been a while. A long while. Anyways, I felt like updating the blog. Here’s some stuff about the just released canyon & workshop update.Weekly Update #50 - Fixes & Trailer Work 6.3 - 19.32017-03-19T12:09:00+00:002017-03-19T12:09:00+00:00/2017/03/19/Fixes_and_Trailer_Work<p>Yeahyeah, I missed last week’s post. My finals started last week and the week before that I was very focused on studying for them, so I didn’t do a whole lot of dev stuff. I didn’t do a whole lot this week, but I do have some fixes and patches that I thought I’d list out in the bottom of the post as usual.</p>
<p>I did start to do some preliminary work on a trailer though. I played through the game and I now have recordings of a playthrough that I can use to make some trailer drafts / mockups. I also had this vision of the capsule image replicated at the end of the trailer with cool animations and stuff. So this is what I came up with in a few hours! Pretty cool, isn’t it?</p>
<div class="embed-responsive embed-responsive-16by9"><iframe allowfullscreen="allowfullscreen" class="video" frameborder="0" height="50%" src="https://www.youtube.com/embed/QDKYdJFLqO4?showinfo=0&rel=0" width="100%"></iframe></div>
<p>That’s really all I wanted to show this week. A few more finals left next week and then all my focus will be aimed at finishing the game and releasing it! Thanks for dropping by!</p>
<ul>
<li>Fixed blades playing sounds on particle collisions</li>
<li>Fixed a bunch of memory leaks</li>
<li>Fixed player controller related crashs</li>
<li>Fixed jungle boss movement and attack pattern</li>
<li>Fixed dropped weapons in water</li>
<li>Fixed zip-archive thread safety</li>
<li>Fixed tanks flipflopping around</li>
<li>Fixed final boss fight menu escape</li>
<li>Fixed tutorial crashing on player death</li>
<li>Improved world map advance behaviour</li>
<li>Improved text rendering performance by a lot</li>
<li>Added a sound effect to the powerup shield</li>
<li>Removed unused levels</li>
</ul>Yeahyeah, I missed last week’s post. My finals started last week and the week before that I was very focused on studying for them, so I didn’t do a whole lot of dev stuff. I didn’t do a whole lot this week, but I do have some fixes and patches that I thought I’d list out in the bottom of the post as usual.Weekly Update #49 - Small Patches 27.2 - 5.32017-03-05T15:08:00+00:002017-03-05T15:08:00+00:00/2017/03/05/Small_Patches<p>I have nothing fancy or new to show this week. I spent some time working on a press kit for the website and that is coming along quite nicely actually. Besides that, I did some fixes and patched a thing here and there. I guess it’s a good thing that there’s not a whole lot to do anymore?</p>
<p>I got a really weird bug report: if the player jumped just in the right way on to a crusher, the player would glitch through the crusher and end up in a weird position. It turned out that the player was resolved against the bottom side of the crushers which was caused by the fact that both the player and the crusher were moving up. It definitely took a good few hours of jumping against the crusher to figure this out… I’m really glad I figured it out though.</p>
<p>Next week I might trace some memory leaks and perhaps even get started on a trailer. Some playtesting also needs to happen. I hope you have a nice week!</p>
<ul>
<li>Fixed prison boss death</li>
<li>Fixed grenadier throw direction</li>
<li>Fixed health screen tint scale</li>
<li>Volume now updates as it is changed</li>
<li>Updated executable icon</li>
<li>Player now moves to the next area when the previous area is completed</li>
<li>Navigation help now scales on larger monitors</li>
</ul>I have nothing fancy or new to show this week. I spent some time working on a press kit for the website and that is coming along quite nicely actually. Besides that, I did some fixes and patched a thing here and there. I guess it’s a good thing that there’s not a whole lot to do anymore?Weekly Update #48 - Tutorial, Tweaks & Capsules 20.2 - 26.22017-02-26T12:26:00+00:002017-02-26T12:26:00+00:00/2017/02/26/Tutorial_Tweaks_and_Capsules<p>This week I improved the tutorial, did some playtesting and patched a bunch of random things, and did some work towards the Steam Store page of the game.</p>
<p>I felt that the old tutorial level didn’t make a whole lot of sense story-wise. The tutorial happened before the intro cutscene, and once the actual gameplay started, it wasn’t really apparent why the player had a weapon. The new tutorial starts in a prison where the player gets his hands on a weapon. The content in the tutorial is pretty much the same as previously, with the exception that due to popular requests, I added an explanation for switches to the tutorial. Anyways, here’s a screenshot of the new tutorial level.</p>
<p><img src="/assets/WeeklyUpdates/48/Tutorial.png" alt="That's right. Climb up you filthy prisoner!" /></p>
<p>I had a small moment in time during the week where my “gameplay” task list was empty, so I decided to play through the game. This helped me to notice a few more things that needed polishing and I already managed to fix some of those. The playtesting was also a great motivation boost as it had been a while since I last played through the game. I was reminded that I have a pretty solid product on my hands and I felt really proud of myself!</p>
<p>Lastly, I did some work on the game’s Steam Store page. There’s still a few things to do before I can set it to public but it’s looking pretty awesome! For an example Steam requires me to set a launch date before making the page public, so I need to figure out a date when I’ll be ready with the game. I made some super awesome capsule art for the page. The idea started with a very simple version with the characters on a forest background with the logo above them. Then I tried the same image out with the prison background and really liked it. After that the idea of a weapon-rain hit me. I’m really happy with how it turned out!</p>
<p><img src="/assets/WeeklyUpdates/48/HeaderCapsule.png" alt="Such branding!" /></p>
<p>Anyways, that’s it for this week! Next week I might start looking into making a trailer, or maybe I’ll just end up doing some boring content system programming. Thanks a lot for dropping by!</p>
<ul>
<li>Fixed a few minor memory leaks</li>
<li>Fixed save progress going down on case prisoners</li>
<li>Fixed enemy grenades toggling traps</li>
<li>Fixed hostages on trucks</li>
<li>Improved ending cutscene</li>
<li>Improved plasma weapon system after game completion</li>
<li>Improved spike trap feel</li>
<li>Improved missile launcher behaviour</li>
<li>Made a few sounds less loud</li>
<li>Grenades now activate pressure switches</li>
<li>Player now moves to the next level in the level selection view</li>
<li>Story cutscenes no longer play on level replays</li>
<li>Rotations are now done with floats instead of integers</li>
<li>Main menu now has a rotating logo</li>
</ul>This week I improved the tutorial, did some playtesting and patched a bunch of random things, and did some work towards the Steam Store page of the game.Weekly Update #47 - Cutscene Improvements 12.2 - 19.22017-02-19T12:34:00+00:002017-02-19T12:34:00+00:00/2017/02/19/Cutscene_Improvements<p>This week was the last week of school for Finnish high school seniors, so it involved some partying which did cut down my development time a little. Anyways, I did manage to do some work on the intro cutscene of the game.</p>
<p>The old cutscene wasn’t very good at all. While it did set the baseline for the story, it didn’t do it very well and the evil Count Blackcape was not nearly evil enough. So, he now does something very violent that makes it apparent that he is not a good guy.</p>
<p><img src="/assets/WeeklyUpdates/47/Violent.gif" alt="Executing some villagers is an important step in taking over the world." /></p>
<p>It was also not very clear that the player was put into a prison in the cutscene. That should be pretty apparent now too.</p>
<p><img src="/assets/WeeklyUpdates/47/Prison.png" alt="I wonder if GunHero is okay with this." /></p>
<p>There’s still some work to do, as I for an example also want to show the capturing of the hostages and maybe a few generic prisoners in the cutscene.</p>
<p>Anyways, thanks a lot for dropping by!</p>
<ul>
<li>Fixed tanks colliding with ice shards</li>
<li>Fixed volume not initializing properly</li>
<li>Fixed jungle boss rope layering</li>
<li>Added an arrow to non-piloted tanks</li>
<li>Improved font preloading</li>
</ul>This week was the last week of school for Finnish high school seniors, so it involved some partying which did cut down my development time a little. Anyways, I did manage to do some work on the intro cutscene of the game.Weekly Update #46 - Music Split & Ladders 6.2 - 12.22017-02-12T12:18:00+00:002017-02-12T12:18:00+00:00/2017/02/12/Music_Split_and_Ladders<p>This week I got some nice progress done! Let’s get right into it!</p>
<p>In the beginning of the week I split up the soundtrack of the game and made it so that each level of the game campaign has a song dedicated to it. I think this nicely splits up the game progress and displays campaign advancing with the background music. The implementation required some minor tweaks in the campaign management but for the most parts it was a really clean transition.</p>
<p>I’ve also made ladders behave a lot nicer. First of all, I added a helper entity to the top of the ladders, that guides the player that’s slightly offset from the ladder opening to the ladder from above. This makes ladders feel a lot better, as going down ladders was quite tricky.</p>
<p><img src="/assets/WeeklyUpdates/46/Helper.gif" alt="The player is slid towards the opening in the floor." /></p>
<p>I was also requested to support jumping on ladders. At start I was a little sceptical but after the first rough implementation I was really satisfied with the end-result. I can’t believe I didn’t implement it before. It did require some tweaks in the scary and messy player logic code but the end result is just really awesome and makes the ladders feel a lot more satisfying.</p>
<p><img src="/assets/WeeklyUpdates/46/Jumping.gif" alt="Hop, climb, hop, climb, hop, climb..." /></p>
<p>That’s pretty much all I wanted to write about this week. The game is coming together really nicely!</p>
<ul>
<li>Fixed loot box weapon spawn layer</li>
<li>Fixed boss bullets not destroying on death</li>
<li>Fixed player weapon in the final cutscene</li>
<li>Fixed forest entrance cutscene trigger</li>
<li>Fixed burst weapon cooldown</li>
<li>Normalized soundtrack volume</li>
</ul>This week I got some nice progress done! Let’s get right into it!Weekly Update #45 - Finishing World Map & Remastering 30.1 - 5.22017-02-05T11:27:00+00:002017-02-05T11:27:00+00:00/2017/02/05/Finishing_World_Map_and_Remastering<p>This going to be quite a boring update but let’s get to it anyways!</p>
<p>I spent some time polishing and finishing off the new world map. It works really smoothly now and I added even a cool new transition for selecting levels. I’m super happy about the rework and it really improves the game a lot. I also composed a short background music loop for the map which I think turned out really well:</p>
<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/306079753&color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false"></iframe>
<p>A lot of time has also been put into mastering the soundtrack of the game. I think I have all the tracks ready and most of the mixing is done. The main thing left to do is to balance volumes between songs. I’ve also thought about dividing the songs up into two songs per world, with the last boss base area only having one song due to its shorter length. My main concern is that I don’t want the music to get too repetitive, but I think I have loops interesting enough so that I could pull this off.</p>
<p>Anyways, this is pretty much all I have to write about this week. Thanks a lot for dropping by!</p>
<ul>
<li>Fixed world map input device listening</li>
<li>Fixed a cutscene instruction crash</li>
<li>Fixed a decal manager crash due to uninitialized renderer</li>
<li>Fixed zero-division in shield code</li>
<li>Fixed date calculations</li>
<li>Fixed controller pause button</li>
<li>Fixed level editor crashing due to missing music file</li>
<li>Changed the way the tutorial level is handled</li>
<li>Improved save selection menu look and feel</li>
</ul>This going to be quite a boring update but let’s get to it anyways!Weekly Update #44 - World Map Rework 16.1 - 29.12017-01-29T10:48:00+00:002017-01-29T10:48:00+00:00/2017/01/29/World_Map_Rework<p>Sorry for missing last week’s post, I was super busy with school stuff. Anyways, I’ve been working on some cool stuff the past week!</p>
<p>First of all, I got started with mastering the tracks in the game. There’s still a lot to do but I did already manage to get some of the tracks to sound better.</p>
<p>Then onto the actual cool progress I have to show. I realized that the old world map was incredibly slow to traverse, so I decided to essentially redo the world map. I split the world map into two sections: First screen allows the player to choose an area (prison, jungle, winter, desert or boss base) and the second screen is the actual level selection. This allows the player to switch areas much much faster. I also now show a separate completion percentage for each area (not shown in the video). All in all I think the new system looks really awesome.</p>
<div class="embed-responsive embed-responsive-16by9"><iframe allowfullscreen="allowfullscreen" class="video" frameborder="0" height="50%" src="https://www.youtube.com/embed/JveMueXxgsM?showinfo=0&rel=0" width="100%"></iframe></div>
<p>You can see new sliding transitions in the video. I swapped out the old fades pretty much everywhere due to the fact that the slides look a lot more action-like and are just awesome. Anyways, that’s it for this week, thanks a lot for dropping by!</p>
<ul>
<li>Fixed dust particle look</li>
<li>Fixed achievement manager crash</li>
</ul>Sorry for missing last week’s post, I was super busy with school stuff. Anyways, I’ve been working on some cool stuff the past week!Weekly Update #43 - Weapon Bubbles 8.1 - 15.12017-01-15T12:27:00+00:002017-01-15T12:27:00+00:00/2017/01/15/Weapon_Bubbles<p>I don’t feel like writing an intro paragraph, so right into the action: Each weapon in the game now has an unique bubble. I received feedback about how the weapons aren’t really distictive enough, and given my very limited weapon sprite resolution, I thought I’d make it easier to spot which weapon you’re about to pick up with a bubble sprite!</p>
<p><img src="/assets/WeeklyUpdates/43/Weapon.gif" alt="The new tutorial." /></p>
<p>I also composed a new song, an alternative winter theme. The names of the tracks are mainly for keeping track of what’s done, as I plan to just play all the tracks on a nice level based loop. Given that I’ve planned basically two tracks per environment, I think that’s too few to keep those two tracks for a single environment. Anyways, here’s the track:</p>
<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/302672333&color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false"></iframe>
<p>I also did some code cleaning this week. I fixed some errors pointed out by a static analyzer. I also replaced my old filesystem code that was implemented using WinAPI calls with the new and shiny std::filesystem. It was a really pleasant experience and the whole conversion took maybe ten minutes!</p>
<p>Anyways, thanks for dropping by and sorry for the short post.</p>
<ul>
<li>Improved slow-motion & fast-forwarding</li>
<li>Added transparency to weapon bubbles</li>
<li>Tweaked credits</li>
</ul>I don’t feel like writing an intro paragraph, so right into the action: Each weapon in the game now has an unique bubble. I received feedback about how the weapons aren’t really distictive enough, and given my very limited weapon sprite resolution, I thought I’d make it easier to spot which weapon you’re about to pick up with a bubble sprite!Weekly Update #42 - Winter Break 19.12 - 7.12017-01-07T18:56:00+00:002017-01-07T18:56:00+00:00/2017/01/07/Winter_Break<p>It’s been a few weeks since my last weekly update. I did manage to get a bunch of stuff done during the winter break and overall I’m quite happy with my progress! I’ll write about some stuff in more detail, but I also feel like there has just been a lot of systems-level work, so the changelist is probably going to be quite long this time.</p>
<p>First I improved the tutorial of the game. The old tutorial level was just a level, and while it did have some taughtful obstacles for the player to overcome, my playtesters had some trouble learning the basics of the game. That’s why the new tutorial system displays help texts at the top of the screen. Here’s a screenshot of the tutorial level:</p>
<p><img src="/assets/WeeklyUpdates/42/Tutorial.png" alt="The new tutorial." /></p>
<p>Continuing with Steamworks support, I added achievements to the game. Most of the achievements were implemented using stat-tracking that is provided in the Steamworks API. The game basically increment some stats, such as enemies killed using a specific weapon, and I can link and achievement to that stat that will be awarded once the counter reaches a specific value. This made adding achievements quite pleasant. Some achievements were added as level triggers and the final few are awarded by specific entities in the game source.</p>
<p>Finally, the game got not one, not two but three new tracks! The tracks probably need another pass at mixing but I’m really proud of the melodies I was able to put out. I think they match the tone of the game really well.</p>
<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/300733153&color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false"></iframe>
<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/301033992&color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false"></iframe>
<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/301388418&color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false"></iframe>
<p>Finally, I got some feedback that the transitions in the game felt lame. So, instead of boring fade ins and outs, states and screens are now swapped with a cool sliding animation!</p>
<p>A bunch of other stuff probably happened but I don’t remember it right now, so just take my word that I had a productive winter break! I’ll get back to writing these updates weekly now. Thanks for dropping by!</p>
<ul>
<li>Added suicidal behaviour to grenadiers</li>
<li>Added powerup point management to the difficulty system</li>
<li>Removed cutscenes from bomb levels</li>
<li>Fixed input devices getting removed at the join screen, world map and level finished dialog</li>
<li>Added settings menu to the pause menu</li>
<li>Fixed zero-division errors</li>
<li>Improved explosion collisions</li>
<li>Improved the final cutscene</li>
<li>Fixed controller deadzones</li>
<li>Fixed bullet trails under rooftops</li>
<li>Added a special decal layer for roofs</li>
<li>Fixed elevator boss exploits</li>
<li>Fixed restart crashes</li>
</ul>It’s been a few weeks since my last weekly update. I did manage to get a bunch of stuff done during the winter break and overall I’m quite happy with my progress! I’ll write about some stuff in more detail, but I also feel like there has just been a lot of systems-level work, so the changelist is probably going to be quite long this time.