tag:blogger.com,1999:blog-66237229185795282332024-03-14T01:39:30.028+00:00FlashkirbyRants and raves about serious nonsense...Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comBlogger314125tag:blogger.com,1999:blog-6623722918579528233.post-70002402697536683202023-12-31T21:36:00.011+00:002023-12-31T21:52:38.857+00:00The Year 2023<p> <a href="https://blogger.googleusercontent.com/img/a/AVvXsEgCANpJw9z3pX1O9kEtHGT5v9lPlITqT-8TveeJI6Jlgu2Mn2TiFSN44uawO7x1viVtJ6GQQ60VZsUKuP3gB0FrdhzPIkSyNWYWRmndQjdbS7S5RVoit60vi-trM5QjbjEkcjBe_mZdF5bsGmxF8e3rkBylKNeeqkZHEVvnYIT8s1JHhzb8mstyJCn9LcwR" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1024" data-original-width="1024" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEgCANpJw9z3pX1O9kEtHGT5v9lPlITqT-8TveeJI6Jlgu2Mn2TiFSN44uawO7x1viVtJ6GQQ60VZsUKuP3gB0FrdhzPIkSyNWYWRmndQjdbS7S5RVoit60vi-trM5QjbjEkcjBe_mZdF5bsGmxF8e3rkBylKNeeqkZHEVvnYIT8s1JHhzb8mstyJCn9LcwR=w640-h640" width="640" /></a><span></span></p><a name='more'></a><p>Todo: what actually happened each month (not all drawings could make the cut after all)</p><p><br /></p><p></p>Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-36930778095665185602023-02-05T17:00:00.000+00:002023-02-08T13:10:20.727+00:00Game Dev London x GGJ 2023: Roots of Skye<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><img alt="big tree" class="transparent" src="https://ggj.s3.amazonaws.com/styles/game_sidebar__wide/featured_image/2023/02/200781/titleggj.png?itok=YOVO_Cze&timestamp=1675617807" style="margin-left: auto; margin-right: auto;" title="Roots of Skye title screen" /></td></tr><tr><td class="tr-caption" style="text-align: center;">This year's theme was "Roots"<br /></td></tr></tbody></table><div style="text-align: center;"></div><p></p><p>We made a game for the global game jam. Check it out on the <a href="https://globalgamejam.org/2023/games/roots-skye-8 " rel="nofollow" target="_blank">GGJ website</a>, or on <a href="https://runicpixels.itch.io/roots-of-skye">itch.io</a>!<br /></p>Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-62288080952928866072022-12-30T21:35:00.008+00:002023-02-08T13:15:09.457+00:00The Year 2022 illustrated<p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHn9a2KO5FUyAJeije-wOs-ivF5dmJ3daEv0QYVBuMfNnTBf8ngRxx453rAozYgUGpEOTKQsiQ7p-ATkHxlSAGRCHXDLhHhGMv4KRFYFOF7L-uxMMTgpM-CMFvThG0ZfVvHOIQnJ-x96ALYuUu6JcRHrBsMItVttr4zcv4m1epim97qGQEXpB335W7Ug/s1024/review2022.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1024" data-original-width="1024" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHn9a2KO5FUyAJeije-wOs-ivF5dmJ3daEv0QYVBuMfNnTBf8ngRxx453rAozYgUGpEOTKQsiQ7p-ATkHxlSAGRCHXDLhHhGMv4KRFYFOF7L-uxMMTgpM-CMFvThG0ZfVvHOIQnJ-x96ALYuUu6JcRHrBsMItVttr4zcv4m1epim97qGQEXpB335W7Ug/w640-h640/review2022.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><a href="https://twitter.com/Flashkirby/status/1608939888610795526" rel="nofollow" target="_blank">🐦</a></td></tr></tbody></table><br /> </p><p> TODO: update this post with more images<br /></p>Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-6119656002584521612022-01-14T11:37:00.008+00:002022-01-14T11:43:44.347+00:00Insights into Short Pixel Art<p>For the "<a href="http://blog.flashkirby.com/p/ffxiv-mystery-of-houze.html">Mystery of the Houze</a>" leaderboard, I threw together some quick pixel art icons of the participants in the style of Final Fantasy Tactics A2. The colour choices might not pop as well as the A2 sprites, but that's because they serve different purposes (and I was lazy with the palettes).<br /> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhMV86FNFJFmDDUZzcWLp8N-Rqx33S13IqK7GbCs89antU78d-WGspUj8uKVdmu5A8b5yKJpkVaVvultnDFGyQ-QZ7Wy7KXy9ByiVz2HeOmAn5vxrIUCbBLZ9VJyo72NjCXLZdfcIB9-eK243EUta17K34HhK2tmdvlS36czD9dJ2Sax5yuPsPCBupjkA=s256" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="128" data-original-width="256" height="128" src="https://blogger.googleusercontent.com/img/a/AVvXsEhMV86FNFJFmDDUZzcWLp8N-Rqx33S13IqK7GbCs89antU78d-WGspUj8uKVdmu5A8b5yKJpkVaVvultnDFGyQ-QZ7Wy7KXy9ByiVz2HeOmAn5vxrIUCbBLZ9VJyo72NjCXLZdfcIB9-eK243EUta17K34HhK2tmdvlS36czD9dJ2Sax5yuPsPCBupjkA" width="256" /></a></div><p><span></span></p><a name='more'></a><p></p><p>As FFTA2 is a tactics game for the DS, the character colours and contrasts are very important for distinguishing features for otherwise very small sprites for the sake of readability. This is why, for example, the Gria Hunter sprite has black eyes and bright green wings, despite her eyes being yellow and wings a muted brown in the art.<br /></p><p></p><p></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjUPKkdLOmnH86vEUgY2KeqQubIeYscJJ8ZdYIuC1LpxtOhbDSj2MAEWaI-5EbnrGXMuMxKMtoPqZ4Oord_gALVw6sOwE0Ersh0QS_T08buuaFuk11SrWz1e8kw0bkxp9G9WEvTGgs5Kii-8XihwvuR6S711mfAFSDN-_qSQsEeZujMnY0JvY8gdxURpA=s224" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="192" data-original-width="224" height="192" src="https://blogger.googleusercontent.com/img/a/AVvXsEjUPKkdLOmnH86vEUgY2KeqQubIeYscJJ8ZdYIuC1LpxtOhbDSj2MAEWaI-5EbnrGXMuMxKMtoPqZ4Oord_gALVw6sOwE0Ersh0QS_T08buuaFuk11SrWz1e8kw0bkxp9G9WEvTGgs5Kii-8XihwvuR6S711mfAFSDN-_qSQsEeZujMnY0JvY8gdxURpA" width="224" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><a href="https://www.spriters-resource.com/fullview/20492/">[src]</a></td></tr></tbody></table><p></p><p>The pixel icons for the event however were created quickly and designed to be recognisable at an increased zoom level. As such, it was more important to make colours recognisable than symbolic, so they were approximated to the character colours rather than to a consistent style. Characters with bright irises were preserved, despite the lack of contrast with sclera. Additionally each colour was only given 2 tone shading rather than a2's minimum 3 tones to keep shading work down. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiTAY86oEzBzHaGC_dihTjp1yG2FC8VAKUKXzxfKiDdiPxFoEGLILPvN7HVZDegc07ezFQO3-f6Uc2m5lETlZJseOxxL1wuX9XQUlGluxQo_EpqcZQXhqNUhESgdWBIXeALt1eWotitR72FbqTaOLLCf6xoFYGJYHQFVmmDPMYFIXn9V1UQjG4uYBGOwA=s108" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="71" data-original-width="108" height="71" src="https://blogger.googleusercontent.com/img/a/AVvXsEiTAY86oEzBzHaGC_dihTjp1yG2FC8VAKUKXzxfKiDdiPxFoEGLILPvN7HVZDegc07ezFQO3-f6Uc2m5lETlZJseOxxL1wuX9XQUlGluxQo_EpqcZQXhqNUhESgdWBIXeALt1eWotitR72FbqTaOLLCf6xoFYGJYHQFVmmDPMYFIXn9V1UQjG4uYBGOwA" width="108" /></a></div><p style="text-align: left;">Something that helped speed up the process a bit is that, despite FFTA2 only having functionally equivalent sprites for <a href="https://www.spriters-resource.com/ds_dsi/ffta2/sheet/20496/">Hyurs</a>, <a href="https://www.spriters-resource.com/ds_dsi/ffta2/sheet/20499/">Vieras</a>, and <a href="https://www.spriters-resource.com/ds_dsi/ffta2/sheet/27383/">Lalafell</a>, squenix actually did create Miqo'te and Au Ra sprites as one-offs seen briefly in their <a href="https://www.youtube.com/watch?v=YZJxYLoun7g">Tactics Alexander</a> april fools video, which were very handy to base off.<br /></p><p style="text-align: center;"></p><p>Overall, it's not the best (colours could be more refined for starters, and more shading tones would be really nice) but for something thrown together in about 30 minutes it does the job fine, I think. This write up was mostly just for fun, and to demonstrate what kind of thoughts I put into these quick scribbles. Perhaps you found it informative, or you can just judge me as someone who puts way too much thought into things like this.<br /></p>Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-52976768866203677322021-03-23T23:36:00.008+00:002021-03-30T11:50:51.145+01:00Making a Xenoblade Chronicles Wave Bank for Terraria 1.4.1<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL5NhBb1k_i_k5IM-tBC9emWcbOEDZlGLNOIrLVExXJ2MNN8SigIxzNK63EdzQzGq9jsEDNtUIC2hY8HMIXbymk0qPHwCHM9Cs24OU3_Ztq19KeH8Jt_QXvX3ZE0V8j_VsPJUqE68hKVZG/s768/xc+music+workshop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="512" data-original-width="768" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL5NhBb1k_i_k5IM-tBC9emWcbOEDZlGLNOIrLVExXJ2MNN8SigIxzNK63EdzQzGq9jsEDNtUIC2hY8HMIXbymk0qPHwCHM9Cs24OU3_Ztq19KeH8Jt_QXvX3ZE0V8j_VsPJUqE68hKVZG/s320/xc+music+workshop.png" width="320" /></a></div><p></p><p style="text-align: center;">Update: The music pack is now available from the <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2440216036" rel="nofollow" target="_blank">Steam Workshop</a>.<br /></p><p>Recently, curiosity and nostalgia got the better of me, and I wanted to see if I could create a wave bank for Terraria using music from the definitive edition of Xenoblade (that is to say, a file that overrides the in-game music).</p><p>Fortunately, this is something that many people have done already, and there even exists <a href="https://forums.terraria.org/index.php?threads/quick-wave-bank-an-easy-no-hassle-wave-bank-creator.61813/" target="_blank">a tool</a> for passing in a list of <span style="font-family: courier;">.wav</span> files, that generates a wave bank file to <span style="font-family: courier;">.wxb</span> output.</p><p>Here is my attempt, available for download should you be interested. It features music primarily from the Xenoblade Chronicles Definitive Edition sound track, with some guest tracks from 2 and X.<br /></p><p style="text-align: center;"> </p><h4 style="text-align: center;"><a href="https://www.mediafire.com/file/gew39m3txv5irn1/Xenoblade_Chronicles_Wave_Bank.zip/file">Xenoblade Chronicles Wave Bank.zip</a></h4><p style="text-align: center;">Installation instructions, tracklist and more are in the <a href="https://pastebin.com/raw/ecMk73JP" target="_blank">README.txt</a>.</p><p style="text-align: center;"><br /></p><p>However, when going to make my own version, I stumbled across a few interesting problems... read on if you wish.</p><p></p><p><span></span></p><a name='more'></a><h2 style="text-align: left;">Creating the Wave Bank<br /></h2><p>Using Audacity, I identified loop points in the tracks and set a crossfade to allow for a single seamless track when looped. Once compiled, I tested the music in game and found that there was small audio gap whenever the track reached the end of the file.</p><p>At first I thought this was an issue with the way the files were saved as I believed the original Terraria music tracks looped seamlessly. So I re-installed the vanilla wave bank and listened to a few tracks and... lo and behold - Terraria's music tracks also feature the small gap before looping!</p><p>Confusing to be sure! The tracks I had mixed featured no such gaps, and were saved as lossless wav files. However, it was upon comparison to the original tracks that I began to discover what the real issue was. All of the extracted tracks from the Terraria wave bank had a small amount of silence at the start.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpD5YDVQO7tT5IwgRTnrES899N-OQX4WvxjPj04_AXKW68p1tDD3Spg4yiMjiYaxoCCWs9ZgSHTm2z-hSYU2WC40uKtiN3Iu37vtS-8KSSZwCu5lW8KmUzyVsFIh7CmiG3yqWMjBXsXLpi/s1174/2021-03-23+21_49_24-11+Boss+2.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="634" data-original-width="1174" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpD5YDVQO7tT5IwgRTnrES899N-OQX4WvxjPj04_AXKW68p1tDD3Spg4yiMjiYaxoCCWs9ZgSHTm2z-hSYU2WC40uKtiN3Iu37vtS-8KSSZwCu5lW8KmUzyVsFIh7CmiG3yqWMjBXsXLpi/s320/2021-03-23+21_49_24-11+Boss+2.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Top row: Original .wav file<br />Bottom row: Compressed audio file with 46ms artifact<br /></td></tr></tbody></table><p>This is a <a href="https://en.wikipedia.org/wiki/Gapless_playback#Compression_artifacts" target="_blank">common artifact</a> that stems from the compression algorithm used when saving files in a lossy format, such as mp3. In short, these compressed audio files had ~50ms of silence at the start of the track. What made no sense was how my wav files, and indeed Terraria's own music, were being affected by this. The next step was to examine how the files were transformed into the wave bank.</p><p>Looking into Quick Wave Bank, I noticed that the build process used the executable "XactBld3". A little research yielded that it is responsible for building wave banks for XNA - and it does this by converting the provided audio files from <span style="font-family: courier;">.wav</span> to <span style="font-family: courier;">.wma</span>. Like mp3, wmas are often lossy<a href="https://en.wikipedia.org/wiki/Windows_Media_Audio#Codecs" target="_blank">*</a>, which introduces the compression artifact once more. Oh no.<br /></p><p></p><span></span><span></span><p>It seems that regardless of the way the music is saved, the compiler will compress and introduce an artifact into the tracks. No getting around that. Of course, the <i>sensible</i> thing to do at this point would be to admit defeat, and just accept that there would be a small delay whenever the track loops. </p><p>...you can see where this is going.</p><h2 style="text-align: left;">Working with silence<br /></h2><p>As anyone who listens to music knows, a slight gap in a piece of music can really throw you off the beat, arguably the most essential part of background music. In all of my wisdom I made the executive decision to revisit every track (about 60) and reduce the lengths of each of them by 50ms, carefully selecting where the loop point would be.<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf_WO8NHzoKYWnWPyn9qyy23-HgeSV7Q6EZyd5wo6Zn701tX8B301Kj6vOprHpHWP-oiKPgO_di8YoQUh7SyA9wRVrmG1DspUCQpD0p8-casZlpMLbRNmqTbUT-ND9dl5BRKoykttalKAN/s767/2021-03-23+23_15_56-06+Jungle+Day.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="296" data-original-width="767" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf_WO8NHzoKYWnWPyn9qyy23-HgeSV7Q6EZyd5wo6Zn701tX8B301Kj6vOprHpHWP-oiKPgO_di8YoQUh7SyA9wRVrmG1DspUCQpD0p8-casZlpMLbRNmqTbUT-ND9dl5BRKoykttalKAN/s320/2021-03-23+23_15_56-06+Jungle+Day.png" width="320" /></a></div><p>To do this, I would locate where in the loop a track's volume lowers the most and carefully cut out 50ms of audio, adding a small amount of fading either side of the track to make it as nautral sounding as possible.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5D8Xgt0HxNOPTNNOJdTvSKgCf-92LLP3SIivqqFSSuF98qZ2ukPaUTJLLDI7GdNiue1JMAuEURGiTAKMOhEU1xAkdlwYOEnXPl6VC4Y_qOtyat7h0yYtHpabu_HL6dvo2rF8ojRDiG-W9/s767/2021-03-23+23_16_07-06+Jungle+Day.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="296" data-original-width="767" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5D8Xgt0HxNOPTNNOJdTvSKgCf-92LLP3SIivqqFSSuF98qZ2ukPaUTJLLDI7GdNiue1JMAuEURGiTAKMOhEU1xAkdlwYOEnXPl6VC4Y_qOtyat7h0yYtHpabu_HL6dvo2rF8ojRDiG-W9/s320/2021-03-23+23_16_07-06+Jungle+Day.png" width="320" /></a></div><p>After listening a few times to verify that the moment's silence was barely noticeable, I recompiled all the tracks and rebuilt the wave bank. In doing so, all the files would need to be compressed and stored in the wma file format. This meant that I could preview exactly how it the track would sound in game, and lo and behold...</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr5E9cFjhLE5QmT_7c1eJW9A8gpTjwGK-ZYn0ihCsoy-EaPV8FY1GGM446kW5MLBw-pk8yOvYac8plQKsyY22l8qtgik4hQ0B7wsk5usrDKw7Svp-cR2aJnGwkIJXF7-WUZmW_roheNMBR/s767/2021-03-23+23_16_13-06+Jungle+Day.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="296" data-original-width="767" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr5E9cFjhLE5QmT_7c1eJW9A8gpTjwGK-ZYn0ihCsoy-EaPV8FY1GGM446kW5MLBw-pk8yOvYac8plQKsyY22l8qtgik4hQ0B7wsk5usrDKw7Svp-cR2aJnGwkIJXF7-WUZmW_roheNMBR/s320/2021-03-23+23_16_13-06+Jungle+Day.png" width="320" /></a></div><p></p><p>It the preserves the beat of the song! Mission accomplished, or close enough.</p><p>Messing around in Audacity and mixing together these sounds has helped me develop an eye for spotting patterns in wave forms. This has been especially useful for creating instruments from audio samples. I even recently created a sound font comprised entirely of goose honks! But that's a story for another time...<br /></p>Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-48009420292650248702020-12-31T00:04:00.000+00:002020-12-31T00:04:18.489+00:00The Year 2020: Coming to a Close<p> </p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYGHngdz_qmJd4ky_jSFvjYclB1YfgTM2l-xHF6S-GjbC1RA8jyFa0RYh7qAKzbZqpNl0gTQlgXPioFwBxUMWTCsv86TyL9hCMAdY9dMp6LnihkiiB2b6ck3cGoSt3nAFultEVYltgYwaE/s1920/review2020.png" style="margin-left: auto; margin-right: auto;"><img alt="Collage of art pieces created this year" border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYGHngdz_qmJd4ky_jSFvjYclB1YfgTM2l-xHF6S-GjbC1RA8jyFa0RYh7qAKzbZqpNl0gTQlgXPioFwBxUMWTCsv86TyL9hCMAdY9dMp6LnihkiiB2b6ck3cGoSt3nAFultEVYltgYwaE/w640-h360/review2020.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Turns out, I actually did a decent amount of art this year!<br /></td></tr></tbody></table><p></p><p>So here we are, at the end of the year 12,020 HE (thanks, Kurzgesagt). It has been a bit of a weird one. </p><p>Livelihoods have been disrupted irreversibly, in ways that perhaps many could have predicted but few were really prepared for. Let's not beat about the bush; this was an unprecedented year for... webcams! <br /></p><p>Originally I planned to engage with others more through social events and boy did plans for that take a sharp turn. I did of course continue to visit friends and family, going for meals and casual game nights, but everything happened through video calls, takeaways, and streamed jackbox parties. Surprisingly enough it would be fair to say that this has been a very social year all things considered; everyone's now online and more connected than ever. It shows that despite a global pandemic and cultural unrest, people will always find ways to carry on as if almost nothing happened.</p><p>So then, how did 2020 fare? Let's go through the list. This year I...</p><ul style="text-align: left;"><li>Binged a whole bunch of TV shows with friends.</li><li>Finished multiplayer playthroughs of Terraria, Code Vein, and Divinity: Original Sin 2.</li><li>Joined in on <a href="https://twitter.com/i/events/1324116884111958019" target="_blank">Inktober 2020</a>, trying different styles every day.<br /></li><li>Learned a lot about AWS, <a href="http://blog.flashkirby.com/2020/05/set-up-aws-lambda-java-function.html">in particular Lambda</a> and ECR+ECS. Also Jupyter.<br /></li><li>Somehow, made some new friends! </li></ul><p></p><div class="separator" style="clear: both; text-align: center;">
</div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEGaWuViCVOZfSm121lPxXxXrmX599SW-tPFWzRo914Kix7yPFFIKGIomV0U-sDzCqACdEzmnFPgNBBuI-PF4r0INuEbG2GgnmxnHEyyvtzbP8hP6_srXzhvWAtI_lZv9Rtknia5jioxbs/s1143/2020-06-14+22_42_10-Terraria_+Now+with+more+things+to+kill+you%2521.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="756" data-original-width="1143" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEGaWuViCVOZfSm121lPxXxXrmX599SW-tPFWzRo914Kix7yPFFIKGIomV0U-sDzCqACdEzmnFPgNBBuI-PF4r0INuEbG2GgnmxnHEyyvtzbP8hP6_srXzhvWAtI_lZv9Rtknia5jioxbs/w200-h133/2020-06-14+22_42_10-Terraria_+Now+with+more+things+to+kill+you%2521.png" width="200" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYlYX5NdRjOnPhTaI-rQhAybpxuYoKHrC4ZIZ-Lyf6xRSL7leYYEVx7NwAbNhDz1qLJAtF4ROiLPx3VxiDXT-Blop1y4Kd4zAf6NXW-EbzZLTKWKPJKmM029thGc2YEn-D_dcrYYDCpjCp/s499/2020-12-30+22_30_48-Untitled-1+%2540+100%2525+%2528Layer+1%252C+RGB_8%2523%2529+_.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="336" data-original-width="499" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYlYX5NdRjOnPhTaI-rQhAybpxuYoKHrC4ZIZ-Lyf6xRSL7leYYEVx7NwAbNhDz1qLJAtF4ROiLPx3VxiDXT-Blop1y4Kd4zAf6NXW-EbzZLTKWKPJKmM029thGc2YEn-D_dcrYYDCpjCp/w200-h134/2020-12-30+22_30_48-Untitled-1+%2540+100%2525+%2528Layer+1%252C+RGB_8%2523%2529+_.png" width="200" /></a>
<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh34qJYz5E0FTp8VaQj9uH8IWbnNhuHFsD30rXyDjgVYBc1KwzfnR_wzI8QXGoKiDdqNu63CrPisfCPURWw-bVr8oskMgJhjwR4lFzReEgl3DWXJiCwa-yqIYEuO8V2xi-1mluDj1vaNxaB/s2048/DOS2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1152" data-original-width="2048" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh34qJYz5E0FTp8VaQj9uH8IWbnNhuHFsD30rXyDjgVYBc1KwzfnR_wzI8QXGoKiDdqNu63CrPisfCPURWw-bVr8oskMgJhjwR4lFzReEgl3DWXJiCwa-yqIYEuO8V2xi-1mluDj1vaNxaB/w200-h113/DOS2.png" width="200" /></a></div><div class="separator" style="clear: both; text-align: center;"> </div>Normally, I would hold myself accountable and guilty for not being productive, but more recently I've realised there's more to what you do during downtime than just what you publish - and that it's equally important to look after yourself. This year I've been focussing more on how to better manage my time - which has been super important for organising socials and planning recurring events.<p></p><p>I feel like I am in a more comfortable position for 2021 to begin picking up personal projects again. Things like modding have fallen somewhat at the wayside whilst figuring out how to deal with this year... but I've still had a little bit of fun!</p><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://cdn.discordapp.com/attachments/587894590997135361/768806938556760074/tossed_2.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="250" data-original-width="330" height="151" src="https://cdn.discordapp.com/attachments/587894590997135361/768806938556760074/tossed_2.gif" width="200" /></a></div><p></p><p style="text-align: center;"> - - -<br /></p><p>Nevertheless, it would be amiss to acknowledge how tough of a year it has been for so many people. So, I dedicate this final section to my family who continue to put up with me, my friends who continue to support me, and funny internet videos and their creators for keeping me sane in the silence of the house. I'm proud of all those who heeded common sense and safety advice to avoid making themselves covid vectors, and relieved for those who fell ill, and recovered or well on the road to recovery! And, for those loved ones we've lost, we respect their legacy, and cherish the memories. It feels like there is never enough time to mourn but, this too shall pass.</p><p style="text-align: center;"><br /></p><p style="text-align: center;">Rest in Piece, Uncle J.</p><p style="text-align: center;">- - -<br /></p>Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-14442764051110281722020-11-14T22:16:00.000+00:002020-11-14T22:16:17.098+00:00Inktober 2020<p>This October, I participated in one of the many draw-tober events, where you produce art based on daily prompts. Every year I try to commit to a theme of my own on top of the daily prompts. <a href="https://twitter.com/i/moments/1327734332375568387">In <b>2018</b></a>, I set out to produce each piece of work without using any erasing or undo tools, much like an actual ink painting. This year, I experimented a bit more by trying a new style or technique for every drawing, so no one piece uses quite the same elements, be it a shading technique or an entire art style!</p><p>Suffice to say, some days I left it till the very last minute, but all in all it was fun and I learnt some interesting techniques!<br /></p><p> <img alt="https://pbs.twimg.com/media/EltHNkyX0AArG5P?format=jpg&name=small" src="https://pbs.twimg.com/media/EltHNkyX0AArG5P?format=jpg&name=small" /></p><p>You can browse the gallery through <a href="https://twitter.com/i/events/1324116884111958019" target="_blank">this <b>twitter event</b></a>! <br /></p>Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-39981750981847763082020-07-29T21:25:00.000+01:002020-07-29T21:25:45.936+01:00Wolf RPG Editor Icons in 9x9<div>Wanted to check out this alternative to RPG maker because it looked interesting. I notice that the icons are 12x12 which don't sit will with the default latin character font sizes, so here's a modified 9x9 version.</div><div><br /></div><div></div><div style="text-align: center;"><img alt="" src="data:image/png;base64,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" /></div><div></div><div>Also, it just looks cool all together like that. If you want them all neatly split into iconXXX.png files, <a href="https://www.mediafire.com/file/w39ko2snt91v9ac/BasicData_icon_9x9.zip/file">here's a mediafire download for the zip</a>.</div><div><br /></div><div><br /></div>Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-90601452032994989722020-05-29T16:26:00.001+01:002020-05-29T16:43:50.265+01:00JavaScript Example: resolving multiple promises in parallel<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS7MyeN7HSkz-Th9NURzXtwpSBXM6U36oL-ajbhx9TOvTgETxm99WlORHgrgAtoMBevsKwJJez1EbIeLoqCRGt_6mFoObjWFWOwxKdsIPT2Loi988Gs5X3os6xmI0y79hJuDowEs7RpkkT/" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="it's promise boy making lots of promises" border="0" data-original-height="249" data-original-width="491" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS7MyeN7HSkz-Th9NURzXtwpSBXM6U36oL-ajbhx9TOvTgETxm99WlORHgrgAtoMBevsKwJJez1EbIeLoqCRGt_6mFoObjWFWOwxKdsIPT2Loi988Gs5X3os6xmI0y79hJuDowEs7RpkkT/w320-h162/promise+boy.png" title="promise boy making lots of promises" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">promise boy making lots of promises<br /></td></tr></tbody></table><div><br /></div><div>Code example of making multiple promises in javascript with the requirement of resolving once all promises are completed, as well as handling when one of them fails.</div><div><br /></div><div>In this case, making separate calls to a dummy service which can failed 10% of the time, and either showing the results of the calls or gracefully stopping if a rejection occurs.</div><span><a name='more'></a></span><div></div><div><pre style="text-align: left;">// This is an example of an api call that will<br />// return a success or fail after 1 to 5 seconds<br />function apiget_dummy(url) {<br /> return new Promise(function(resolve, reject) {<br /> setTimeout(y = function () {<br /> <br /> if (Math.random() < 0.1) {<br /> console.log('(api) url failed')<br /> reject(url + ' failed')<br /> return;<br /> }<br /> <br /> console.log('(api) url success')<br /> resolve('This is a successful response');<br /> <br /> }, 1000 + Math.random() * 4000);<br /> })<br />}<br /><br />urls = ['www.example.com/myfirstapi/test?query=5', 'www.example.com/doesthiswork', 'www.example.com']<br /><br />Promise.all(<br /> urls.map(url => { return apiget_dummy(url); })<br />).then((values) => {<br /> console.log('This code will run successfully once all urls are processed');<br /> console.log(values);<br />}).catch(reasons => {<br /> console.log('Oh no! This code failed because one of the urls was rejected');<br /> console.log(reasons);<br />});<br /></pre></div><div>This makes use of <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all">Promise.all</a> to take multiple promises and handle them, as well as the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map">map</a> function to declare an array of function calls.</div><div><br /></div><div>You can run this in your console to see it working!<br /></div>Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-42367006513874097272020-05-10T03:34:00.010+01:002020-05-29T15:55:13.280+01:00Quick Edit for Blogger Themes without quick edit enabled<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody>
<tr><td style="text-align: center;"><a style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="18" data-original-width="18" src="http://img2.blogblog.com/img/icon18_edit_allbkg.gif" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The almighty quick edit</td></tr>
</tbody></table>
<div>
</div>
<div>
<br /></div>
<div>
Create a HTML/Javascript Widget to the footer, and add this code:<br />
</div><div><pre style="text-align: left;"><span class="item-control blog-admin"><br /><a <br />onclick="blogQuickEdit()" style="display: block;text-align: <br />center;"><img alt='' class='icon-action' height='18' <br />src='http://img2.blogblog.com/img/icon18_edit_allbkg.gif' <br />width='18'/></a><br /></span><br /><script><br />// https://cl.mt/blog/new-blogger-theme-quick-editing<br />function blogQuickEdit() {<br /> var str = document.getElementsByTagName('html')[0].innerHTML;<br /> var w;<br /> var urla = window.location.href<br /> var v = str.split("targetBlogID=")[1];<br /> w = v.substring(0, v.indexOf("&"));<br /> var r = str.split("postID=")[1];<br /> var z = r.substring(0, r.indexOf("&"))<br /> if (z.length > 19) { //legacy support<br /> r = str.split("feeds/")[4];<br /> z = r.substring(0, r.indexOf("/"));<br /> }<br /> var url = "https://www.blogger.com/blog/post/edit/" + w + "/" + z;<br /> window.open(url, '_blank');<br />}<br /></script><br /></pre></div>
<div>
</div>
<div>
Modified from <a href="https://cl.mt/blog/new-blogger-theme-quick-editing">Clement Ong's</a> work to work on a website rather than a bookmark, and use the new blogger editor as of 2020.<br />
<br />
DISCLAIMER: I'm lazy and only set this up to quick edit posts. It will fail for pages. </div>
Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-14028527156659383912020-05-10T00:55:00.000+01:002020-05-10T03:40:49.632+01:00Set up an AWS Lambda Java Function triggered by API Gateway<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ6zuEPwvfvcEnkxte7Wt-KjL5blvH-sY7zCLiUuWd3qoGVQZhyphenhyphenG_vCmXNjJ_shyphenhyphenJ7HaJjkgcAvKBcZ3k2Q37zVyLVtrzYoMYSqhsb8Qzol3UxdYw_Q8KiE3iKnO0N7aGuSDK-rU5zjafI/s1600/2020-05-10+03_40_03-AWS+Lambda+%25E2%2580%2593+Serverless+Compute+-+Amazon+Web+Services.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="137" data-original-width="864" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ6zuEPwvfvcEnkxte7Wt-KjL5blvH-sY7zCLiUuWd3qoGVQZhyphenhyphenG_vCmXNjJ_shyphenhyphenJ7HaJjkgcAvKBcZ3k2Q37zVyLVtrzYoMYSqhsb8Qzol3UxdYw_Q8KiE3iKnO0N7aGuSDK-rU5zjafI/s1600/2020-05-10+03_40_03-AWS+Lambda+%25E2%2580%2593+Serverless+Compute+-+Amazon+Web+Services.png" /></a></div>
The other day I found myself in sudden need of returning customised responses for thousands of requests. Having no prior knowledge of the systems at play, and access to a free tier AWS account, I threw together a barebones Java project to solve this problem.<br />
<br />
<span style="font-size: x-large;">> <a href="https://github.com/Flashkirby/aws-gateway-lambda/blob/master/README.md">github: aws-gateway-lambda</a></span><br />
<br />
<a name='more'></a><br />
What's that? You like using Java in IntelliJ, and want to set up a
simple API callback service on AWS, without all the bells and whistles
of setting up the AWS Toolkit, opting instead for a barebones .jar file
that will get the job done quick and fast for cheap? Well you've come to
the semi-relevant place!<br />
<br />
So what's this repo?
A no-nonsense guide to set up some java code to be triggered via http request, without complicated server setup. It features:<br />
<ul>
<li>Java
<ul>
<li>Maven</li>
<li>IntelliJ (Community Edition)</li>
</ul>
</li>
<li>AWS Lambda
<ul>
<li>Run code from an uploaded JAR file.</li>
<li>Retrieve request parameters.</li>
<li>Set and read system environment variables.</li>
<li>CloudWatch Logging.</li>
</ul>
</li>
<li>API Gateway
<ul>
<li>Hook AWS lambda up to a HTTP API, which is <a href="https://aws.amazon.com/api-gateway/pricing/" rel="nofollow">2-3 times cheaper</a> than a REST API configuration.</li>
</ul>
</li>
</ul>
Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-41594683403447794312019-08-08T00:50:00.000+01:002019-08-08T00:53:38.206+01:00Peeking at YouTube AnalyticsIt's more than probable that 90% of people who use youtube have never had a video recieve a spike of views from an external source - not quite going viral. Well I am normally amongst those since I only use it to upload videos to show friends, but one time last year one of my <a href="https://youtu.be/Se8ufN2BhoM">joke videos</a> for <a href="https://store.steampowered.com/app/253230/A_Hat_in_Time/">A Hat In Time</a> (10/10 game btw) got <a href="https://twitter.com/hatintime/status/1051987398299672576">retweeted by the developers</a>, which was an absolutely amazing surprise to receive at 2 in the morning!<br />
<br />
So given the video currently sits at a respectable 17K views, just for curiousities sake and because data is cool, I figured I'd show you what the YouTube analytics page for it looks like.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyhkkQ7GTanThtlH3lRLZ3PhOd6wpMZgpPc2z1y6JgYznSrgOrQ9E_2tem9VGFJPCKiYIUa4W7eQqMBPJRI3Hj1JU8Z4SbL2YvudWwIG0Ef5zS1X8907uiDEbhxCWhRz0UYvIAcsU0vuUB/s1600/yt-analytics-overview.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="958" data-original-width="1223" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyhkkQ7GTanThtlH3lRLZ3PhOd6wpMZgpPc2z1y6JgYznSrgOrQ9E_2tem9VGFJPCKiYIUa4W7eQqMBPJRI3Hj1JU8Z4SbL2YvudWwIG0Ef5zS1X8907uiDEbhxCWhRz0UYvIAcsU0vuUB/s320/yt-analytics-overview.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Overview</td></tr>
</tbody></table>
<br />
<a name='more'></a><br /><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9fy4SSgLKKSdYokARvn3nm229DRrQ81lBLjmDDkv4erpnMKFAaADw_wMDmTxM2WAFevaYdfU5cnP1jwzgYd5llnXWLszjD3ujTof7VzKkLRI5_X-OOyEeLJLRDyIem7jzojrzwD4Tcff3/s1600/yt-analytics-reach.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1600" data-original-width="967" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9fy4SSgLKKSdYokARvn3nm229DRrQ81lBLjmDDkv4erpnMKFAaADw_wMDmTxM2WAFevaYdfU5cnP1jwzgYd5llnXWLszjD3ujTof7VzKkLRI5_X-OOyEeLJLRDyIem7jzojrzwD4Tcff3/s320/yt-analytics-reach.png" width="193" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Reach</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1EqegGmuSYlT2zVXAFrWVyN8CAwJwZx1FTuNPKx-EAOeRruYhWvRYaHkZWWVoLWRanyBur_K2eLAjHtwr_rXSQyQxxM0trkK7bd0c0t7LpZAKMTO55aFwy30ENsjECJqJdQp18JuC__Wv/s1600/yt-analytics-engagement.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="982" data-original-width="1231" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1EqegGmuSYlT2zVXAFrWVyN8CAwJwZx1FTuNPKx-EAOeRruYhWvRYaHkZWWVoLWRanyBur_K2eLAjHtwr_rXSQyQxxM0trkK7bd0c0t7LpZAKMTO55aFwy30ENsjECJqJdQp18JuC__Wv/s320/yt-analytics-engagement.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Engagement</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiouc5Uwqt4EMfCyicSeisTZd_URBqz6hrFomR2ZdpaaNkfETiRVW-vGVVGuKpwOqyFVtRv3sR9KM054xcj-FgAXyjo8EFeApfGh915ckPSi-7e6knEeS-aWi_HAqnL_v7qqqAyoiZME1I9/s1600/yt-analytics-audience.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1221" data-original-width="1214" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiouc5Uwqt4EMfCyicSeisTZd_URBqz6hrFomR2ZdpaaNkfETiRVW-vGVVGuKpwOqyFVtRv3sR9KM054xcj-FgAXyjo8EFeApfGh915ckPSi-7e6knEeS-aWi_HAqnL_v7qqqAyoiZME1I9/s320/yt-analytics-audience.png" width="318" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Audience</td></tr>
</tbody></table>
Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-16997126639091974412019-08-06T21:55:00.000+01:002019-09-29T01:53:50.491+01:00MuseScore Transcription: Kakariko VillageCadence of Hyrule is a stellar rhythm roguelike game from the folks at Brace Yourself Games. It's literally ALttP Randomizer with Necrodancer controls, licensed by Nintendo. If that on it's own doesn't convince you it's worth checking out, at least look for the soundtrack.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCVJpr_SYOa8ml5elHFYnGDGa-vdiaJv9faXhV0sC-vEPjixQlwNhgKLd2jjzuBTS4bPygRFWTkldQ0NfBpELHY40b8fOBU3fhdHDHTZfXyBGVt9GFUgbnfWN-4kAG3nLA-me17Xl4p6c0/s1600/kakariko_vinesauce_part_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="256" data-original-width="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCVJpr_SYOa8ml5elHFYnGDGa-vdiaJv9faXhV0sC-vEPjixQlwNhgKLd2jjzuBTS4bPygRFWTkldQ0NfBpELHY40b8fOBU3fhdHDHTZfXyBGVt9GFUgbnfWN-4kAG3nLA-me17Xl4p6c0/s1600/kakariko_vinesauce_part_1.jpg" /></a></div>
<br />
In celebration of beating the game, and to test the waters of MuseScore 3, I did a transcription of one of the shorter tracks in the game, <a href="https://musescore.com/user/4335791/scores/5661103">Kakariko Village</a>.Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-4301949246005973112019-05-31T23:12:00.001+01:002019-05-31T23:12:28.951+01:00Book Jam 2019I participated in my first game jam with a couple of close friends last weekend. We made a game about trying to find people in an office, using Unity.<br />
<br />
Writeup to come, but see how we did. at the <a href="https://flashkirby.itch.io/in-the-company-of-strangers">itch.io page</a>!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNYTgGaj5-XKjqMBzySxl7BEf6_5Cp8uSAoy6kAf2Sph_4GxEYs00-t9xAZTd-A55CGcosPvkFnfgUgKB6F8FYKwKhPhJtB_cnQaC0J5PoBAUnMSPRnLialsSjNUYWWQJWjglSxSv_8LLL/s1600/InTheCompanyOfStrangersLogoItch.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1270" data-original-width="1600" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNYTgGaj5-XKjqMBzySxl7BEf6_5Cp8uSAoy6kAf2Sph_4GxEYs00-t9xAZTd-A55CGcosPvkFnfgUgKB6F8FYKwKhPhJtB_cnQaC0J5PoBAUnMSPRnLialsSjNUYWWQJWjglSxSv_8LLL/s320/InTheCompanyOfStrangersLogoItch.png" width="320" /></a></div>
<br />Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-67391069546288099892018-12-20T02:15:00.001+00:002018-12-20T02:15:43.456+00:00Smash Bros. Ultimate: The Joy-Con Cons<br />
I was really excited to play Super Smash Brothers Ultimate (which from this point onwards will be referred to as SSBU for the sake of my fingers). But at the same time, pretty apprehensive over how well I could play the game with Joy-Cons... and their tiny analog sticks.<br />
<br />
<br />
<a name='more'></a><br /><br />
<br />
SSBU has been out for about 2 weeks now, so I've managed to play it with friends and CPUs for about a days worth of hours. And suffice to say I've had my fair share of both amusing and annoying blunders and misinputs; mostly from accidental SDs and smash attacks. After giving it some thought, I think I've nailed down what makes the Joy-Cons so fiddly to use.<br />
<blockquote class="tr_bq">
DISCLAIMER: I don't play this game competitively, nor am I particularly
great at it. I do, however, really enjoy it and have played it on each
console's native controllers since the first game back in 1999! </blockquote>
So first things first. What misinputs am I talking about? If you played the game with Joy-Cons, then maybe one of these situations will have affected you:<br />
<ul>
<li>Attempted to recover, performed a directional air dodge instead and died.</li>
<li>Attempted to ledge drop. Crouched repeatedley.</li>
<li>Input a tilt attack, got a smash attack.</li>
<li>Successfully used a down tilt, only to do it in the wrong direction.</li>
<li>Recovered <i>just</i> too far from the ledge with characters like Pikachu, Greninja, Lucario and Fox, despite having the reach to get there fine.</li>
<li>Tried short hopping, but kept doing full hops. </li>
<li>Double jumped when performing an upwards aerial (uair).</li>
</ul>
So some of these inputs are more common than others and indeed are issues that have carried over from previou smash games, so I'll address them in groups, then discuss what impact the Joy-Con has on some of these.<br />
<br />
<h3>
The Problems, Explained</h3>
Since the early days of Smash, <b>Double Jumped Up Air</b> attacks have always been an issue. Top tip: Turn off tap jump if it really bothers you (you can assign custom control settings to name tags). The only reason why this is more prominent now, is due to another common problem: <b>Full Hopping instead of Short Hopping</b>, which is due to a change in SSBU that makes short hops harder to do.<br />
<br />
Specifically, every character's jumpsquat (the delay between starting a jump and leaving the ground) is now 3 frames long. This means to short hop you must now press <i>and</i> release the jump button in under 50 milliseconds. There's a reason they made it so you can press both the attack and jump button to do a short hop aerial attack.<br />
<br />
<br />
Now for some of the issues that are made more apparent by the Joy-Con itself.<br />
<br />
<b>Ledge Drops</b> and <b>Tilt Attacks</b> <b></b>are problems exaccerbated by now small the Joy-Con's analog stick is. Ideally. moving the stick from neutral to a position should be as smooth and painless as possible. The Joy-Con's analog stick tends to require a proportionally large amount of pushing force to start moving at all, sort of like having high static friction. This is most likely due to its size, but this means that simply attempting to tilt the stick "a little bit" in a direction often leads to overshooting as you apply more force until it starts to move, and then suddenly shoot it to the edge.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Bz7tBky68oqItNrAvvwsrOSQX5SDU3__S6N15XIiIC6v4NEQWpxDznAp4Z1FnXGqtNkrGyjNhZiGSM1I_-jjJmVZx34rPgYMhtI29kBtvopxfmD-k5qA6ZVnAlSEjP6nANK3ksuT7H1X/s1600/joycon1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="263" data-original-width="403" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Bz7tBky68oqItNrAvvwsrOSQX5SDU3__S6N15XIiIC6v4NEQWpxDznAp4Z1FnXGqtNkrGyjNhZiGSM1I_-jjJmVZx34rPgYMhtI29kBtvopxfmD-k5qA6ZVnAlSEjP6nANK3ksuT7H1X/s320/joycon1.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Dotted Line - Ideal analog stick, smooth and consistent<br />
Line - Experience using the Joycon's analog sticks.</td></tr>
</tbody></table>
Unfortunately being precise with the analog sticks is difficult, especially in the middle of a heated smash battle; There is a reason why the Gamecube Controllers are so well known for their iconic clack noises as Melee players input directions at lightning speeds. And this lack of precision makes the sweetspot for performing tilt attacks that much harder. Undercompenstating in order to hit the tilts, in turn, makes ledge drops more awkward to perform.<br />
<br />
[Image of character performing turnarounds]<br />
<br />
<b>Reverse Down Tilts</b> and <b>Directional Precision</b> are another set of interesting problems that occur from time to time. A new feature added to SSBU was the ability to turn around when performing a down tilt by inputting a diagonal dowwards and in the opposite direction to your current facing direction. The other problem is simply controlling the correct direction to launch yourself in during the reoveries of some characters.<br />
<br />
Both of these can be attributed to nothing more than the small size of the Joy-Con sticks, and in fact is often a reason why many players hold on to Gamecube controllers, as they sport actual notches to keep directional input like this more consistent.<br />
<br />
<br />
The final issue was harder to work out, but particularly noticeable once discovered. The misinputs surrounding <b>Performing a Directional Air Dodge instead of Recovering</b>. Now before anything else is said, this concerns dodging accidently far away from the stage and oftentimes lower down, where doing so would be both, not beneficial in getting back on stage, and likely to end up killing the player.<br />
<br />
The cause for this appears to be a combnation of rushing to hit an input (which plagued the first problem mentioned), and the ergonomics of the Joy-Cons whilst held either in the Switch Console, or freely detached. When holding a Joy-Con, the thumb lies on the front face ready to press buttons or hit the analog stick. The index fingers sit neatly on the L/ZL and R/ZR shoulder buttons. The middle finger is sometimes kept on the ZL/ZR buttons but equally commonly just supports the controller itself:<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://s2.thcdn.com/productimg/600/600/11396093-1574458422612898.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="600" data-original-width="600" height="200" src="https://s2.thcdn.com/productimg/600/600/11396093-1574458422612898.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Basically like this.</td></tr>
</tbody></table>
The problem here is that, when pressing the face buttons hard, the thumb naturally pushes both <i>down into the controller</i>, and <i>upwards towards the shoulder buttons</i>. In a standard controller, the angled grips mean you can counteract both of these vectors by holding on with your 3 supporting fingers. However due to the flat back of the Joy-Cons, the only way to stop the upwards push from a hard press of the thumb is by pushing back against it using... your index finger... which is on the shoulder button...<br />
<br />
<h3>
Solutions</h3>
Great. So you're pressing too hard, or too fast. And the millenia old advice of "just practice" doesn't seem to help. Well there are a few solutions available, depending on your spending allowance!<br />
<ol>
<li>Adjust the sensitivity of the sticks in-game. Inside the Options -> Controls of SSBU, kept under "Other Settings" in the bottom left corner. you can change the Stick Sensitivity. Setting this to <b>High</b> will make the sticks <b>less</b> sensitive, meaning a faster flick is required to input dashes and smashes. </li>
<li>Use a <b>Joy-Con comfort grip</b>. These things are relatively cheap in comparison to other products, and basically remedy the issues of the Joy-Cons being flat. <br /><div class="separator" style="clear: both; text-align: center;">
<a href="https://images-na.ssl-images-amazon.com/images/I/417c0LXENqL.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="436" data-original-width="500" height="279" src="https://images-na.ssl-images-amazon.com/images/I/417c0LXENqL.jpg" width="320" /></a></div>
It probably won't help much when it comes to hitting those tilts, but it will certainly stop your fingers from slipping up as much.</li>
<li>Use the <b>Pro Controller</b>. Advantages include: being an traditional controller, analog sticks are larger, giving more leeway for performing tilts and aiming recoveries. The main disadvantage is the placement of the right analog stick, which makes it a more definite effort to use as opposed to the Joy-Cons where you can manipulate it with the palm of your hamd.</li>
<li>Shell out for a Gamecube Controller, or an adaptor or whatever. All the pros use them, and their design is great for games like Smash, with large shoulder buttons, notched analog sticks and a big green A button to mash when you need to!</li>
</ol>
That's it from me, enjoy! Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-36906387790359818042018-04-18T02:37:00.003+01:002018-04-18T02:37:25.438+01:00Game Dev Coursework<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/cC4C9oVqfeM/0.jpg" src="https://www.youtube.com/embed/cC4C9oVqfeM?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-10288056209155434522017-11-13T15:58:00.000+00:002017-11-13T15:58:59.001+00:00Article: Designing a playstyle<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDhxp5RTKVSk91kriXfb9Dg10s_s9vK5e6EVeC9kK3mvjpktgV1esPf6CTNvZdwnfMig9f6zjCyH4XGe3Zkmd-Ja38sTJ06LgqxgwO7-o3CKKMzWR15jnOAQIXH55Rm0kPYvoTAWGmUTs/s200/WeaponOut-Boxer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="148" data-original-width="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDhxp5RTKVSk91kriXfb9Dg10s_s9vK5e6EVeC9kK3mvjpktgV1esPf6CTNvZdwnfMig9f6zjCyH4XGe3Zkmd-Ja38sTJ06LgqxgwO7-o3CKKMzWR15jnOAQIXH55Rm0kPYvoTAWGmUTs/s200/WeaponOut-Boxer.png" /></a></div>
<a href="https://slowtediousrewarding.blogspot.co.uk/2017/11/modding-terraria-designing-new-playstyle.html">I wrote an article on my gamedev specific sub blog (which gets even less activity than this one so there you go). </a>Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-32825678929834108252017-11-12T19:47:00.001+00:002017-11-12T19:47:56.217+00:00AstonHack 2017<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6CGvHZY6x2eJZMgQPU7HZ0ohFJ_UrbYKJqJvWdSJl_EHFdqLwkizHGf5MapeHaXzMYxYMHMa3bzGZb5jsa7b6Acl2QBEM1JqTYHYjNXaTao63uTEeaHvlRWhm5j-L1zdbGA8Jk6jPEBxO/s1600/FB_IMG_1510510589188.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6CGvHZY6x2eJZMgQPU7HZ0ohFJ_UrbYKJqJvWdSJl_EHFdqLwkizHGf5MapeHaXzMYxYMHMa3bzGZb5jsa7b6Acl2QBEM1JqTYHYjNXaTao63uTEeaHvlRWhm5j-L1zdbGA8Jk6jPEBxO/s320/FB_IMG_1510510589188.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Nice Bag. Nice T-Shirt.</td></tr>
</tbody></table>
I participated and got sweet loot! <a href="http://formal-purpose-185716.appspot.com/host">I made this</a> with stuff I never used before!Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-55994259343865652332017-10-21T21:34:00.001+01:002017-10-21T21:34:55.529+01:00Clerk drawingI'm not dead, just been busy with coding, games and finishing Cuphead! Also, someone asked about whether my mods had any fanart. Psssh. What about non-fanart. (For the record there is no fanart, that would be weird).<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgesK9AuC7O09MkhTVt-nnUXS_SD5AAEqdNKVARYgSxxvxHBQU7ot8KTtxRxdsdb3QooxDX-iMrYt1qqKAAJOgMY0q86occvXr2y81Nxspb8fq1PkuiMQzyODZNSqqJI2DGUJYfD6CzvWMe/s1600/clerk.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1024" data-original-width="512" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgesK9AuC7O09MkhTVt-nnUXS_SD5AAEqdNKVARYgSxxvxHBQU7ot8KTtxRxdsdb3QooxDX-iMrYt1qqKAAJOgMY0q86occvXr2y81Nxspb8fq1PkuiMQzyODZNSqqJI2DGUJYfD6CzvWMe/s320/clerk.png" width="160" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Open up post for process gif</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY67DMH69HbpIEdZUtUxQLh1So2PxLx0-mZSQewrNeUzqiMVrVdEeIBab_pABoRBYW0i182baTeS7OAdcfqulV9bs93WDWTtX-yJq0jPDg5U0BAD7J0apdI8JsyYLVDejlH-r850RJm1_C/s1600/clerk.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1024" data-original-width="512" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY67DMH69HbpIEdZUtUxQLh1So2PxLx0-mZSQewrNeUzqiMVrVdEeIBab_pABoRBYW0i182baTeS7OAdcfqulV9bs93WDWTtX-yJq0jPDg5U0BAD7J0apdI8JsyYLVDejlH-r850RJm1_C/s320/clerk.gif" width="160" /></a></div>
<br />Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-83788734725999791972017-06-28T00:50:00.001+01:002017-06-28T00:50:01.874+01:00MHGen Bherna Village Transcription<div class="separator" style="clear: both; text-align: center;">
<a href="https://vignette4.wikia.nocookie.net/monsterhunter/images/c/cd/MHGen-Bherna_and_Moofah_Screenshot_001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="235" data-original-width="490" src="https://vignette4.wikia.nocookie.net/monsterhunter/images/c/cd/MHGen-Bherna_and_Moofah_Screenshot_001.png" /></a></div>
This place always had a nice theme. Decided to mess around with the slightly updated MuseScore 2 soundfounts again. <a href="https://musescore.com/user/4335791/scores/4162791">Check it out here</a>.Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-32952095580935476452017-04-01T11:56:00.002+01:002017-04-01T12:07:27.306+01:00NEW UNRELEASED COLLAB SINGLE - WHAM! x THE JAYWALK (formerly J-WALK)<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/jNqVECdDyzY/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/jNqVECdDyzY?feature=player_embedded" width="320"></iframe></div>
<br />
<span style="font-family: "comic sans ms" , "cursive" , sans-serif;">I made sure to upload in 1080p for all you HD fans!</span>Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-80130869375407228812017-03-10T00:02:00.001+00:002017-03-10T01:49:01.545+00:00Terraira Modded Playthrough Art<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBCmjFlie_ylqOGPVQbzpIqlCUWhe93FmnsD4aiHvNBANaIsF4v3FghmchxvP8e1Ui_Uw-jT0pbrdacGXCvY_WGomvJx8px34PTxHhwX0DHuAThlwZl9uorMqwkNtNOqn921b9iuRAKJFE/s1600/sketch+4+terraria+copy.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBCmjFlie_ylqOGPVQbzpIqlCUWhe93FmnsD4aiHvNBANaIsF4v3FghmchxvP8e1Ui_Uw-jT0pbrdacGXCvY_WGomvJx8px34PTxHhwX0DHuAThlwZl9uorMqwkNtNOqn921b9iuRAKJFE/s320/sketch+4+terraria+copy.png" width="273" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Abacus (left) and Donamo 2.0 (right)</td></tr>
</tbody></table>
Drawing of the current party, mainly running the Thorium and GRealm mods with smaller addons. Actually 3 members now but this was drawn before then. Bucket Wizard III soon.<br />
<br />
(Edited: Forgot to enable lighting layer) Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-757130870757588292017-02-01T23:30:00.000+00:002017-04-12T18:27:02.455+01:00Terraria Modding UpdateI guess I haven't actually mentioned this properly on here so here goes: I maintain a couple of mods over at the Terraria Modding sub-forum. And they're not doing that bad all things considered! But what are they?<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWDSAzUSwJJI49iMhOkKsuiZMroDnAmg7NaZJorUK-cnFuGz2XHhhGVTJAEsVxtPQ0HPDDzLb2btNaRZUhnXSIV1AEVuOkobHckp9otmu5XpIsR1m8Uxg9v5GfFlQcifaVPAb0d24hxOZq/s1600/2016-12-22+00_49_08-Terraria_+Also+try+Dungeon+Defenders+2%2521.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWDSAzUSwJJI49iMhOkKsuiZMroDnAmg7NaZJorUK-cnFuGz2XHhhGVTJAEsVxtPQ0HPDDzLb2btNaRZUhnXSIV1AEVuOkobHckp9otmu5XpIsR1m8Uxg9v5GfFlQcifaVPAb0d24hxOZq/s1600/2016-12-22+00_49_08-Terraria_+Also+try+Dungeon+Defenders+2%2521.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">KON KON. KOKE KOKKO. nyan.</td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<a name='more'></a><h3 style="text-align: center;">
WeaponOut</h3>
<div style="text-align: center;">
<a href="https://forums.terraria.org/index.php?threads/weaponout.47130/">Link</a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://javid.ddns.net/tModLoader/widget/widgetimage/WeaponOut.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://javid.ddns.net/tModLoader/widget/widgetimage/WeaponOut.png" /></a></div>
This mod uses some fancy brute-forced coding to test what the player has equipped, and show the player actually holding the equipped item. In a way, it emulates what Terraria: Otherworld does, just less naturally. Also contains various random weapon systems that use interesting design spaces not found in the vanilla game.<br />
<h3 style="text-align: center;">
Expeditions</h3>
<div style="text-align: center;">
<a href="https://forums.terraria.org/index.php?threads/expeditions-mod-modular-quest-system.52517/">Link</a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://javid.ddns.net/tModLoader/widget/widgetimage/Expeditions.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://javid.ddns.net/tModLoader/widget/widgetimage/Expeditions.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://javid.ddns.net/tModLoader/widget/widgetimage/ExpeditionsContent.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://javid.ddns.net/tModLoader/widget/widgetimage/ExpeditionsContent.png" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Both a framework and a content pack, this mod uses a system I built from the ground up to support custom questing (someone said it reminded them of this <a href="https://minecraft.curseforge.com/projects/hardcore-questing-mode">minecraft mod</a>). The content pack itself contains a whole bunch of progression and procrastinating quests for players to get up to.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The mods I develop primarily attempt to add in new systems and ways of playing the game, since that' basically what I'm going to have to do in actual game developemt. So far, the most important things I've learnt are:</div>
<ul>
<li>Testing is REALLY IMPORTANT but also extremely time consuming.</li>
<li>Sometimes you just have to drop a hotfix. There is no real reason for delays.</li>
<li><span style="font-family: "courier new" , "courier" , monospace;">git commit -am '$(curl -s http://whatthecommit.com/index.txt)'\</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace;">git reset HEAD~</span></li>
<li>Constant communication is key. Both for keeping things alive, and getting good feedback. </li>
<li>Appreciate the silent majority. Heck, I didn't even know my little mods were downloaded that many times! When I first released WeaponOut, I was pretty proud of it just having 500 downloads and a few friendly replies on the thread.</li>
</ul>
I can't think of anything else to say, but I guess I can finish this off with, modding is satisfying but not as much as realising the difference, however small, you make in other people's experiences.<br />
<br />
Also that I should really start making an actual game.Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-70799332088841334852017-01-23T20:53:00.001+00:002017-01-23T22:05:03.119+00:00First Time Rider<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDZPkYnyi9W4DYqd6mYq8uGalkv-DNTGROU0mZdl3iotklJE76bDAIFIUHv0tr5QJ6bqn3KDdtuYR8C_xJU0Ks5n0nUb3UZBuXy9egymtlQUXDc_vFaf0ssPZ48XU3q3EBXzHgA1hffP0I/s1600/First+Time+Rider.fw.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDZPkYnyi9W4DYqd6mYq8uGalkv-DNTGROU0mZdl3iotklJE76bDAIFIUHv0tr5QJ6bqn3KDdtuYR8C_xJU0Ks5n0nUb3UZBuXy9egymtlQUXDc_vFaf0ssPZ48XU3q3EBXzHgA1hffP0I/s320/First+Time+Rider.fw.png" width="232" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">More Terraria fanart!? You better believe it</td></tr>
</tbody></table>
Done in < 3 hrs, so anatomy and perspective is totally messed up. I cannot bunnies for the life of me so it looks more like... I don't even know. Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.comtag:blogger.com,1999:blog-6623722918579528233.post-73151208349339186092017-01-16T22:31:00.001+00:002017-01-16T22:31:21.848+00:00Another Character Painting Test<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-qP07pcXVef22QcEfQfkGw0KdSGGsMTKoK2wO1gqHozsSfBrxr5lthCPDobVI4Rb9OMup403b8gf0tCmfG6Bs7vTyeD9OAHs3oi1n0Xh7DtS_wIUrdqjble0ppZBuO2VakN3ncNa7OCVa/s1600/painttest.fw.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-qP07pcXVef22QcEfQfkGw0KdSGGsMTKoK2wO1gqHozsSfBrxr5lthCPDobVI4Rb9OMup403b8gf0tCmfG6Bs7vTyeD9OAHs3oi1n0Xh7DtS_wIUrdqjble0ppZBuO2VakN3ncNa7OCVa/s320/painttest.fw.png" width="180" /></a></div>
Started this whilst watching the AGDQ stream, only just got around to actually finishing the sketch. Basically, lock transparency is an amazing thing.But painting and lighting in general is still hard. And I need to work more on colours - especially shading contrast.Flashkirbyhttp://www.blogger.com/profile/01057181508339226083noreply@blogger.com