<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" >

<channel><title><![CDATA[CIRTOYT'S REALITY - Gameplay Programming Dev Blog]]></title><link><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog]]></link><description><![CDATA[Gameplay Programming Dev Blog]]></description><pubDate>Tue, 19 May 2026 07:24:40 +0100</pubDate><generator>Weebly</generator><item><title><![CDATA[To The Core - 3rd person platformer group project]]></title><link><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/to-the-core-3rd-person-platformer-group-project]]></link><comments><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/to-the-core-3rd-person-platformer-group-project#comments]]></comments><pubDate>Thu, 23 Apr 2020 03:12:48 GMT</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">https://www.cirtoyt.com/gameplay-programming-dev-blog/to-the-core-3rd-person-platformer-group-project</guid><description><![CDATA[  Today I bring you our group project for my Gameplay Programming university module,    To The Core!   				 				    To The Core is a 3rd person platformer where you've got to go deep into the earth to solve the case of the mysterious earthquakes that have begun to plague the land!  This group project involved 5 members, myself included, where I provided and created a range of mechanics and gameplay systems. I'd like to go through a few of them here and follow it up with a short review of how the [...] ]]></description><content:encoded><![CDATA[<div class="wsite-spacer" style="height:16px;"></div>  <div class="paragraph">Today I bring you our group project for my Gameplay Programming university module,<br /></div>  <div class="wsite-spacer" style="height:38px;"></div>  <h2 class="wsite-content-title" style="text-align:center;"><strong><span style="color:rgb(37, 37, 37); font-weight:400"><font size="7">To The Core!</font></span></strong></h2>  <div><div style="height: 20px; overflow: hidden;"></div> 				<div id='331241713154940608-gallery' class='imageGallery' style='line-height: 0px; padding: 0; margin: 0'><div id='331241713154940608-imageContainer0' style='float:left;width:33.28%;margin:0;'><div id='331241713154940608-insideImageContainer0' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-5_orig.png' rel='lightbox[gallery331241713154940608]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-5.png' class='galleryImage' _width='800' _height='373' style='position:absolute;border:0;width:160.86%;top:0%;left:-30.43%' /></a></div></div></div></div><div id='331241713154940608-imageContainer1' style='float:left;width:33.28%;margin:0;'><div id='331241713154940608-insideImageContainer1' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-12_orig.png' rel='lightbox[gallery331241713154940608]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-12.png' class='galleryImage' _width='800' _height='377' style='position:absolute;border:0;width:159.15%;top:0%;left:-29.58%' /></a></div></div></div></div><div id='331241713154940608-imageContainer2' style='float:left;width:33.28%;margin:0;'><div id='331241713154940608-insideImageContainer2' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-19_orig.png' rel='lightbox[gallery331241713154940608]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-19.png' class='galleryImage' _width='800' _height='377' style='position:absolute;border:0;width:159.15%;top:0%;left:-29.58%' /></a></div></div></div></div><span style='display: block; clear: both; height: 0px; overflow: hidden;'></span></div> 				<div style="height: 20px; overflow: hidden;"></div></div>  <div class="wsite-spacer" style="height:32px;"></div>  <div class="paragraph">To The Core is a 3rd person platformer where you've got to go deep into the earth to solve the case of the mysterious earthquakes that have begun to plague the land!</div>  <div class="paragraph">This group project involved 5 members, myself included, where I provided and created a range of mechanics and gameplay systems. I'd like to go through a few of them here and follow it up with a short review of how the team aspect of this proejct went.</div>  <div><div class="wsite-multicol"><div class="wsite-multicol-table-wrap" style="margin:0 -15px;"> 	<table class="wsite-multicol-table"> 		<tbody class="wsite-multicol-tbody"> 			<tr class="wsite-multicol-tr"> 				<td class="wsite-multicol-col" style="width:53.63321799308%; padding:0 15px;"> 					 						  <div class="paragraph">Straight off the bat, the player within the game was developed by myself, brought over fomr the original player character demo. a fellow group member, Zoe had sword mechanics in her player system, and I wanted to also add sword combat to my won, so I went about looking into how she did it. I only ended up using the basic concept, then went and created my own animation system that linked up to my own player. In the end, I managed to create a sword with a 3 hit combat by rotating through an enum of attacks, executing the correct animations if the player continued to chain attacks within the given window of opportunity. Furthermore, I upgraded my combat system to use a sphere cast all function instead of a simple ray cat for better hit area results.<br /></div>   					 				</td>				<td class="wsite-multicol-col" style="width:46.36678200692%; padding:0 15px;"> 					 						  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/published/screenshot-6.png?1587622227" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/published/screenshot-7.png?1587622249" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>   					 				</td>			</tr> 		</tbody> 	</table> </div></div></div>  <div class="paragraph">As I was not only in charge of developing the player and how it felt withing my level, ensuring ground checks worked on the levels created by my fellow group members, but also in-charge of the player's combat system, it was only natural that I created the framework for enemies to be built upon. Zoe had mainly focused on the second scene and wanted to add spider enemies, and so after giving her the framework, she generalised the method of receiving incoming damage through a general 'Enemy' class. She went on to create the enemy AI and attack patterns themselves, but the stats fed straight but into the player stats script that I had setup. Later on, enemies were needed in level 3 and it seemed appropriate to also add my slime enemies, altering them to become 'magma slimes' given the lava setting. This was a simple copy paste job from my pre-made combat demo system, but I had to alter some things to work with the new lightweight renderer pipeline &amp; the new generalised enemy framework, which wasn't too bad. Finally, I went on to balance the attack damage &amp; health stats of all the enemies and the player to feel nice and balanced throughout the gameplay.</div>  <div><div class="wsite-multicol"><div class="wsite-multicol-table-wrap" style="margin:0 -15px;"> 	<table class="wsite-multicol-table"> 		<tbody class="wsite-multicol-tbody"> 			<tr class="wsite-multicol-tr"> 				<td class="wsite-multicol-col" style="width:35.063437139562%; padding:0 15px;"> 					 						  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/published/screenshot-11.png?1587622305" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/published/screenshot-14.png?1587622396" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>   					 				</td>				<td class="wsite-multicol-col" style="width:64.936562860438%; padding:0 15px;"> 					 						  <div class="paragraph">Our team originally had a group meeting as well as created an online document regarding the plan for each level. At that stage I had come up with the plan and structure for the first level myself, but hadn't the time to implement it with all my time spent on the cross-level player&nbsp; character, player input and combat systems. Thank fully a fellow group member, Gabriel stepped up to ascertain the assets and build the scene according to my plans. Later, I swapped in and created the cave area, populated the scene with sheep enemies (they are immune and can just be bumped around, don't worry ethics were thought about), and rearranged the level's structure a bit to feel nicer to play. I ran into some issues with Gabriel using a Unity terrain when running the 'isGrounded' function within my player, so we ultimately had to swap that out for a flat plane.</div>   					 				</td>			</tr> 		</tbody> 	</table> </div></div></div>  <div class="paragraph">Other than all that, I mainly acted as a somewhat manager for the group, ensuring everyone was on track, had tasks to do. Zoe did a fantastic job creating all the lovely functionality of the second level's minecart system, as well as everything else within that scene. Cameron used his third-year knowledge to get in the know about advanced camera systems using Cinemachine, and provided all the cutscene for each level and did most of the work on the thrid level, albeit Dan's attempt to create it. Gabriel did a great job providing an NPC system, as well as the raw power-ups for each level. He also create most of the UI.<br /></div>  <div><div class="wsite-multicol"><div class="wsite-multicol-table-wrap" style="margin:0 -15px;"> 	<table class="wsite-multicol-table"> 		<tbody class="wsite-multicol-tbody"> 			<tr class="wsite-multicol-tr"> 				<td class="wsite-multicol-col" style="width:55.478662053057%; padding:0 15px;"> 					 						  <div class="paragraph">The group's distribution worked quite well, but we encountered many issues when merging work together. Unity doesn't like it when multiple people are trying to work on the same scene, so we used GitHub and multiple branch to try and keep each scene separate, ensuring only 1 person was working on each scene at a time. Sadly, there were a few conflicts that came up when we merged the scene together and into the development branch at multiple stages, but this acted as a great learning experience for me.&nbsp;&#8203;<span style="color:rgb(37, 37, 37)">Personally I wish we had more time to add even more to the game, but isn't that always the case haha. Thanks for reading!</span></div>   					 				</td>				<td class="wsite-multicol-col" style="width:44.521337946943%; padding:0 15px;"> 					 						  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/published/screenshot-17.png?1587622491" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-20_orig.png" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>   					 				</td>			</tr> 		</tbody> 	</table> </div></div></div>  <div class="paragraph">A full video of the game's playthrough can be found below!<br />The game features power-ups, coins, enemies, minecarts, moving platforms, cutscenes, combat, mazes, harmless sheep, and talkative farmers!<br /></div>  <div class="wsite-youtube" style="margin-bottom:10px;margin-top:10px;"><div class="wsite-youtube-wrapper wsite-youtube-size-auto wsite-youtube-align-center"> <div class="wsite-youtube-container">  <iframe src="//www.youtube.com/embed/RmCaz_Fi2EI?wmode=opaque" frameborder="0" allowfullscreen></iframe> </div> </div></div>  <div><div style="height: 20px; overflow: hidden;"></div> 				<div id='377790269273744255-gallery' class='imageGallery' style='line-height: 0px; padding: 0; margin: 0'><div id='377790269273744255-imageContainer0' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer0' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-1_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-1.png' class='galleryImage' _width='800' _height='376' style='position:absolute;border:0;width:159.57%;top:0%;left:-29.79%' /></a></div></div></div></div><div id='377790269273744255-imageContainer1' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer1' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-2_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-2.png' class='galleryImage' _width='800' _height='375' style='position:absolute;border:0;width:160%;top:0%;left:-30%' /></a></div></div></div></div><div id='377790269273744255-imageContainer2' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer2' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-3_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-3.png' class='galleryImage' _width='800' _height='377' style='position:absolute;border:0;width:159.15%;top:0%;left:-29.58%' /></a></div></div></div></div><div id='377790269273744255-imageContainer3' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer3' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-4_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-4.png' class='galleryImage' _width='800' _height='376' style='position:absolute;border:0;width:159.57%;top:0%;left:-29.79%' /></a></div></div></div></div><div id='377790269273744255-imageContainer4' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer4' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-5_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-5.png' class='galleryImage' _width='800' _height='373' style='position:absolute;border:0;width:160.86%;top:0%;left:-30.43%' /></a></div></div></div></div><div id='377790269273744255-imageContainer5' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer5' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-6_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-6.png' class='galleryImage' _width='800' _height='377' style='position:absolute;border:0;width:159.15%;top:0%;left:-29.58%' /></a></div></div></div></div><div id='377790269273744255-imageContainer6' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer6' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-7_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-7.png' class='galleryImage' _width='800' _height='376' style='position:absolute;border:0;width:159.57%;top:0%;left:-29.79%' /></a></div></div></div></div><div id='377790269273744255-imageContainer7' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer7' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-8_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-8.png' class='galleryImage' _width='800' _height='360' style='position:absolute;border:0;width:166.67%;top:0%;left:-33.33%' /></a></div></div></div></div><div id='377790269273744255-imageContainer8' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer8' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-9_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-9.png' class='galleryImage' _width='800' _height='376' style='position:absolute;border:0;width:159.57%;top:0%;left:-29.79%' /></a></div></div></div></div><div id='377790269273744255-imageContainer9' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer9' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-10_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-10.png' class='galleryImage' _width='800' _height='378' style='position:absolute;border:0;width:158.73%;top:0%;left:-29.37%' /></a></div></div></div></div><div id='377790269273744255-imageContainer10' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer10' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-11_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-11.png' class='galleryImage' _width='800' _height='377' style='position:absolute;border:0;width:159.15%;top:0%;left:-29.58%' /></a></div></div></div></div><div id='377790269273744255-imageContainer11' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer11' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-12_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-12.png' class='galleryImage' _width='800' _height='377' style='position:absolute;border:0;width:159.15%;top:0%;left:-29.58%' /></a></div></div></div></div><div id='377790269273744255-imageContainer12' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer12' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-13_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-13.png' class='galleryImage' _width='800' _height='376' style='position:absolute;border:0;width:159.57%;top:0%;left:-29.79%' /></a></div></div></div></div><div id='377790269273744255-imageContainer13' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer13' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-14_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-14.png' class='galleryImage' _width='800' _height='369' style='position:absolute;border:0;width:162.6%;top:0%;left:-31.3%' /></a></div></div></div></div><div id='377790269273744255-imageContainer14' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer14' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-15_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-15.png' class='galleryImage' _width='800' _height='376' style='position:absolute;border:0;width:159.57%;top:0%;left:-29.79%' /></a></div></div></div></div><div id='377790269273744255-imageContainer15' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer15' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-16_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-16.png' class='galleryImage' _width='800' _height='377' style='position:absolute;border:0;width:159.15%;top:0%;left:-29.58%' /></a></div></div></div></div><div id='377790269273744255-imageContainer16' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer16' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-17_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-17.png' class='galleryImage' _width='800' _height='367' style='position:absolute;border:0;width:163.49%;top:0%;left:-31.74%' /></a></div></div></div></div><div id='377790269273744255-imageContainer17' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer17' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-18_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-18.png' class='galleryImage' _width='800' _height='376' style='position:absolute;border:0;width:159.57%;top:0%;left:-29.79%' /></a></div></div></div></div><div id='377790269273744255-imageContainer18' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer18' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-19_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-19.png' class='galleryImage' _width='800' _height='377' style='position:absolute;border:0;width:159.15%;top:0%;left:-29.58%' /></a></div></div></div></div><div id='377790269273744255-imageContainer19' style='float:left;width:33.28%;margin:0;'><div id='377790269273744255-insideImageContainer19' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-20_orig.png' rel='lightbox[gallery377790269273744255]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/screenshot-20.png' class='galleryImage' _width='800' _height='377' style='position:absolute;border:0;width:159.15%;top:0%;left:-29.58%' /></a></div></div></div></div><span style='display: block; clear: both; height: 0px; overflow: hidden;'></span></div> 				<div style="height: 20px; overflow: hidden;"></div></div>]]></content:encoded></item><item><title><![CDATA[3RD PERSON PLATFORMER Combat System DEMO]]></title><link><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-combat-system-demo]]></link><comments><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-combat-system-demo#comments]]></comments><pubDate>Wed, 22 Apr 2020 20:32:48 GMT</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-combat-system-demo</guid><description><![CDATA[Hi everyone!  This blog post, I'll be covering my combat system I developed from scratch for my 3rd person platformer unity demo  The brief set in place by our university asked us to create Slimes, similar to those found in Minecraft. In Minecraft, slimes roam the land and spawn smaller slimes when they are killed, if they start as a medium or large slime that is. They are very basic enemies, with a simply jumping attack and large hit box when encountering large slimes. The difficulty within gam [...] ]]></description><content:encoded><![CDATA[<div class="paragraph"><span style="color:rgb(37, 37, 37)">Hi everyone!</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">This blog post, I'll be covering my combat system I developed from scratch for my 3rd person platformer unity demo</span><br /></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">The brief set in place by our university asked us to create Slimes, similar to those found in Minecraft. In Minecraft, slimes roam the land and spawn smaller slimes when they are killed, if they start as a medium or large slime that is. They are very basic enemies, with a simply jumping attack and large hit box when encountering large slimes. The difficulty within gameplay with that they spawn more and more smaller and harder to hit slime every time you kill the larger versions, even if they get weaker. This creates a nice balance for players to fight with.</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">When creating my own slimes, I started by getting the aesthetics down, making mine very close to the original just to give myself a feeling of threat when fighting them in testing, instead of simple cubes bouncing at me. I implemented a simple jump mechanic alongside an instant snap rotation to face the enemy they are chasing. I think a smoother rotation toward the player would have been better ideally, but this is what I would have added if I had more time.</span></div>  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0px;margin-right:10px;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/editor/ws7-image-1.png?1587591060" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Another property of slimes involved having an 'active area' or not. If they did, then the slimes would roam freely, but only within that area. If the predicted landing spot was outside of this, then the slime would not jump, but only spin to face the enemy, staring it down. I also created a spawner button that had the option to add an active area to the enemy if you wanted. I used a place for this, then ignored the y axis when checking if the landing position was within bounds. This worked nicely, but if I had a scene with a layered layout, then I'd have to rethink this and maybe only create a volume of area that the slimes can move within instead.</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">The Slimes themselves are all prefabs for each different size, with many options regarding jump force, if they spawn more on death, how many, what enemy to spawn on death, how much damage they do to players and how much health they have themselves. These can all be tweaked to however you would like, but following the guidlines presented to me, I left the defaults to always spawn 2 smaller enemies on death unless you were the smallest, all damaging 1 health point, and their own health going from 3 to 1 from largest to smallest.</span></div>  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/published/ws7-image-2.png?1587591246" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">For my own combat, I already had a simple punch animation set in place, I just had to tie a method of damaging enemies to that now. If an enemy stood a certain range in front of me when I punched (this can be changed, but by default it was set to 3.5 meters) the enemy would lose 1 health point. This mean large slimes took 3 hits to kill and medium slimes 2, and small slimes 1. Every time I punch the enemy, I wanted a sense of weight, so I added a little knockback. Similarly, every time a slime touched the player, they would knockback the player as well as damage them.</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">I could have added the sword to my character, but that would have involved major reworks of my character design, though I plan to implement this into my group project when I add my character to it.</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Do look forward to my next blog post regarding my upcoming group project, but for now, thanks for reading!</span><br /></div>]]></content:encoded></item><item><title><![CDATA[3RD PERSON PLATFORMER Moving Platforms DEMO]]></title><link><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-moving-platforms-demo]]></link><comments><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-moving-platforms-demo#comments]]></comments><pubDate>Wed, 22 Apr 2020 18:47:13 GMT</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-moving-platforms-demo</guid><description><![CDATA[Hi all!  &#8203;Today I'd like to talk about my latest edition to my 3rd person platformer unity demo, moving platforms.  When I think of moving platforms in games, I think of 1 of 2 things: 'Platforming speed runs', with sequences of jumps where a range of platforms are moving in all kinds of directions, or 'transport platforms', where you stand on a platform to be elevated or moved to somewhere else whilst experiencing limited movement of sorts.         Whenever moving platforms are involved,  [...] ]]></description><content:encoded><![CDATA[<div class="paragraph"><span style="color:rgb(37, 37, 37)">Hi all!</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">&#8203;Today I'd like to talk about my latest edition to my 3rd person platformer unity demo, moving platforms.</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">When I think of moving platforms in games, I think of 1 of 2 things: 'Platforming speed runs', with sequences of jumps where a range of platforms are moving in all kinds of directions, or 'transport platforms', where you stand on a platform to be elevated or moved to somewhere else whilst experiencing limited movement of sorts.</span></div>  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/published/super-mario-galaxy-platforms-1.png?1587592903" alt="Picture" style="width:421;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Whenever moving platforms are involved, you need to think about how many forces and axis the player has to deal with. In games such as Super Mario Galaxy, where not only is the game in 3 dimension, but your direction of gravity is also constantly changing. Looking at how most of their platforms work, any platforms that involve jumping onto/off and between platforms is usually done on moving platforms that only translate in movement following 1 gravity source point, and not rotating through multiple gravity zones. When moving platforms involve rotating in space from 1 gravity zone to another, the player more often than not simply walks onto the platform and then it will take the player where they need to go without the need to jump. Jumping off the platform at this stage will most likely throw you into the void of space if you even can control the player over that shifting period.</span></div>  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/published/super-mario-galaxy-platforms-2.png?1587592927" alt="Picture" style="width:462;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">This is to accommodate player skill and how their platforms move the player. As soon as Mario's feet touch the platform, they are then stuck to and moved by the platform. The instant he jumps and leaves the ground, he is free. This is good for platforming sequences where you must jump from 1 platform to the next, but if rotation and gravity direction is changing, that will just make life extremely difficult.</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Some games make it so that even when jumping, the player is still moved by the platforms, making it even harder for the player to accidentally&nbsp;fall off the platform right after they jump whilst still on it.</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Switching to my implementation, I have options to handle these situations. I had setup a moving platform handler which contains a start, end, and pivot point for a line of moving platforms that are spawn at 1 end and disappear at the other. The rate of platform appearing and the speed at which they travel along the path can be changed with public variables.</span></div>  <div><div class="wsite-multicol"><div class="wsite-multicol-table-wrap" style="margin:0 -15px;"> 	<table class="wsite-multicol-table"> 		<tbody class="wsite-multicol-tbody"> 			<tr class="wsite-multicol-tr"> 				<td class="wsite-multicol-col" style="width:50%; padding:0 15px;"> 					 						  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:left"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/published/ws6-image-1.png?1587592981" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>   					 				</td>				<td class="wsite-multicol-col" style="width:50%; padding:0 15px;"> 					 						  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws6-image-2_orig.png" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>   					 				</td>			</tr> 		</tbody> 	</table> </div></div></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Every time a platform is generated, it has it's own height check variable. This reflects how high up the player can be above the platform until it stops moving the player. By default I left this at a minimal 0.08 to that when only standing on the platform will it move it. If I bumped this up to 3, then even when jumping, the platform will still move the player is relation to its movement.</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">The 1 flaw with my system is that I don't rotate the player at the same rate of the moving platforms. I couldn't figure out how to get this number accurately in time. Not only this, but the player will move in correspondence with the centre of the moving platform, not where on the moving platform they are standing on. This means when standing at the edges, you will see you played drift across the surface of the moving platform ever so slightly</span></div>  <div><div class="wsite-multicol"><div class="wsite-multicol-table-wrap" style="margin:0 -15px;"> 	<table class="wsite-multicol-table"> 		<tbody class="wsite-multicol-tbody"> 			<tr class="wsite-multicol-tr"> 				<td class="wsite-multicol-col" style="width:50%; padding:0 15px;"> 					 						  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws6-image-3_orig.png" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>   					 				</td>				<td class="wsite-multicol-col" style="width:50%; padding:0 15px;"> 					 						  <div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a> <img src="https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws6-image-4_orig.png" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>   					 				</td>			</tr> 		</tbody> 	</table> </div></div></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Other than that, with the starting, end, pivot point, spawn rate, and speed options I'm very happy with what I created.</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Thanks for reading and I'll see you in my final blog post!</span><br /></div>]]></content:encoded></item><item><title><![CDATA[3RD PERSON PLATFORMER 2.5D Spline DEMO]]></title><link><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-25d-spline-demo]]></link><comments><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-25d-spline-demo#comments]]></comments><pubDate>Mon, 20 Apr 2020 20:10:52 GMT</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-25d-spline-demo</guid><description><![CDATA[Hi All!  Back with another edition to my 3rd person platformer unity demo, this time I bring you 2.5D Splines!  My splines system has a whole lot of stuff it can do and is simply added by dragging in and unpacking a prefab. Once in the scene, the spline runs in the editor. Here you can play around with it's shape and length as you please using waypoints and waypoint toggles. You can even change settings such as how detailed the curve is.  When playing the game, players can walk up to the spline, [...] ]]></description><content:encoded><![CDATA[<div class="paragraph">Hi All!</div>  <div class="paragraph">Back with another edition to my 3rd person platformer unity demo, this time I bring you 2.5D Splines!</div>  <div class="paragraph">My splines system has a whole lot of stuff it can do and is simply added by dragging in and unpacking a prefab. Once in the scene, the spline runs in the editor. Here you can play around with it's shape and length as you please using waypoints and waypoint toggles. You can even change settings such as how detailed the curve is.</div>  <div class="paragraph">When playing the game, players can walk up to the spline, then will enter a nice transition to go from free-walking to being locked on the spline in a 2D style. Once on the spline you can only move left and right. Once reaching either end of the spline again, you pop right off.</div>  <div class="paragraph">My spline uses a rather strange locking system, with a few bugs like being able to move out of bounds of the spline from the start position, as well as jumping not staying in-line with the spline when moving as well as jumping, but the base concept is there. If I had time, I'd like to make a more refined version in the future.</div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">For now, checkout the video below for a much more detailed look into the system, showing what it can do, and the code behind it!</span></div>  <div class="wsite-youtube" style="margin-bottom:10px;margin-top:10px;"><div class="wsite-youtube-wrapper wsite-youtube-size-auto wsite-youtube-align-center"> <div class="wsite-youtube-container">  <iframe src="//www.youtube.com/embed/pmNtAlYbUmY?wmode=opaque" frameborder="0" allowfullscreen></iframe> </div> </div></div>  <div><div style="height: 20px; overflow: hidden;"></div> 				<div id='324696057101583791-gallery' class='imageGallery' style='line-height: 0px; padding: 0; margin: 0'><div id='324696057101583791-imageContainer0' style='float:left;width:33.28%;margin:0;'><div id='324696057101583791-insideImageContainer0' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws5-image-1_orig.png' rel='lightbox[gallery324696057101583791]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws5-image-1.png' class='galleryImage' _width='800' _height='433' style='position:absolute;border:0;width:138.57%;top:0%;left:-19.28%' /></a></div></div></div></div><div id='324696057101583791-imageContainer1' style='float:left;width:33.28%;margin:0;'><div id='324696057101583791-insideImageContainer1' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws5-image-2_orig.png' rel='lightbox[gallery324696057101583791]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws5-image-2.png' class='galleryImage' _width='800' _height='433' style='position:absolute;border:0;width:138.57%;top:0%;left:-19.28%' /></a></div></div></div></div><div id='324696057101583791-imageContainer2' style='float:left;width:33.28%;margin:0;'><div id='324696057101583791-insideImageContainer2' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws5-image-3_orig.png' rel='lightbox[gallery324696057101583791]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws5-image-3.png' class='galleryImage' _width='800' _height='433' style='position:absolute;border:0;width:138.57%;top:0%;left:-19.28%' /></a></div></div></div></div><div id='324696057101583791-imageContainer3' style='float:left;width:33.28%;margin:0;'><div id='324696057101583791-insideImageContainer3' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws5-image-4_orig.png' rel='lightbox[gallery324696057101583791]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws5-image-4.png' class='galleryImage' _width='800' _height='433' style='position:absolute;border:0;width:138.57%;top:0%;left:-19.28%' /></a></div></div></div></div><div id='324696057101583791-imageContainer4' style='float:left;width:33.28%;margin:0;'><div id='324696057101583791-insideImageContainer4' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws5-image-6_orig.png' rel='lightbox[gallery324696057101583791]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws5-image-6.png' class='galleryImage' _width='1117' _height='560' style='position:absolute;border:0;width:149.6%;top:0%;left:-24.8%' /></a></div></div></div></div><span style='display: block; clear: both; height: 0px; overflow: hidden;'></span></div> 				<div style="height: 20px; overflow: hidden;"></div></div>]]></content:encoded></item><item><title><![CDATA[3RD PERSON PLATFORMER Smooth Follow Camera DEMO]]></title><link><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-opening-door-sequence-smooth-follow-camera-demo]]></link><comments><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-opening-door-sequence-smooth-follow-camera-demo#comments]]></comments><pubDate>Wed, 11 Mar 2020 18:32:51 GMT</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-opening-door-sequence-smooth-follow-camera-demo</guid><description><![CDATA[Hi all!  Continuing on with my 3rd person platformer unity demo game, this time I upgraded my camera system!  Previously, I had 'fixed' my last bug with friction of the player on objects in mid-air, but I actually missed out what would happen when jumping against a wall whilst grounded. This time, I fixed that.  The additions I made included a new camera mode, a method of swapping between to modes, and upgrading the default camera mode!  Normal mode now features collision detection! The camera z [...] ]]></description><content:encoded><![CDATA[<div class="paragraph"><span style="color:rgb(37, 37, 37)">Hi all!</span></div>  <div class="paragraph">Continuing on with my 3rd person platformer unity demo game, this time I upgraded my camera system!<br /></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Previously, I had 'fixed' my last bug with friction of the player on objects in mid-air, but I actually missed out what would happen when jumping against a wall whilst grounded. This time, I fixed that.</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">The additions I made included a new camera mode, a method of swapping between to modes, and upgrading the default camera mode!</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Normal mode now features collision detection! The camera zooms in with some padding when colliding with with a wall.</span><br /></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">The new NSEW Soft-Lock mode locks the camera to either the north, south, east, or west angles. You can then rotate around the player only in 90 degrees whilst in this mode, snapping to the closest cardinal direction at the moment you enter the mode.</span></div>  <div class="paragraph">&#8203;<span style="color:rgb(37, 37, 37)">&#8203;Checkout the video below for a much more detailed look into the system, what it can do, and the code behind it!</span></div>  <div class="wsite-youtube" style="margin-bottom:10px;margin-top:10px;"><div class="wsite-youtube-wrapper wsite-youtube-size-auto wsite-youtube-align-center"> <div class="wsite-youtube-container">  <iframe src="//www.youtube.com/embed/3UnBZchSnVU?wmode=opaque" frameborder="0" allowfullscreen></iframe> </div> </div></div>  <div><div style="height: 20px; overflow: hidden;"></div> 				<div id='922712477847625872-gallery' class='imageGallery' style='line-height: 0px; padding: 0; margin: 0'><div id='922712477847625872-imageContainer0' style='float:left;width:33.28%;margin:0;'><div id='922712477847625872-insideImageContainer0' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws4-image-3_orig.png' rel='lightbox[gallery922712477847625872]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws4-image-3.png' class='galleryImage' _width='1131' _height='530' style='position:absolute;border:0;width:160.05%;top:0%;left:-30.02%' /></a></div></div></div></div><div id='922712477847625872-imageContainer1' style='float:left;width:33.28%;margin:0;'><div id='922712477847625872-insideImageContainer1' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws4-image-1_orig.png' rel='lightbox[gallery922712477847625872]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws4-image-1.png' class='galleryImage' _width='1131' _height='530' style='position:absolute;border:0;width:160.05%;top:0%;left:-30.02%' /></a></div></div></div></div><div id='922712477847625872-imageContainer2' style='float:left;width:33.28%;margin:0;'><div id='922712477847625872-insideImageContainer2' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws4-image-2_orig.png' rel='lightbox[gallery922712477847625872]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws4-image-2.png' class='galleryImage' _width='1131' _height='532' style='position:absolute;border:0;width:159.45%;top:0%;left:-29.72%' /></a></div></div></div></div><span style='display: block; clear: both; height: 0px; overflow: hidden;'></span></div> 				<div style="height: 20px; overflow: hidden;"></div></div>]]></content:encoded></item><item><title><![CDATA[3RD PERSON PLATFORMER Opening Door Sequence DEMO]]></title><link><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-opening-door-sequence-demo]]></link><comments><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-opening-door-sequence-demo#comments]]></comments><pubDate>Wed, 11 Mar 2020 17:52:42 GMT</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-opening-door-sequence-demo</guid><description><![CDATA[Hi all!  Again I'll be continuing from last time, with a new addition to my 3rd person platformer unity demo game. This time, I created an opening door sequencing!  Last time I still had the issue of friction against wall when in mid-air, as featured in the 1st player avatar demo post. This time around, I fixed it! It was a quick and simple fix that just used the ground check function to check if I was in mid-air or not. If I, as in the player, was in mid-air, then its rigidbody would have its m [...] ]]></description><content:encoded><![CDATA[<div class="paragraph">Hi all!<br /></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Again I'll be continuing from last time, with a new addition to my 3rd person platformer unity demo game. This time, I created an opening door sequencing!</span><br /></div>  <div class="paragraph">Last time I still had the issue of friction against wall when in mid-air, as featured in the 1st player avatar demo post. This time around, I fixed it! It was a quick and simple fix that just used the ground check function to check if I was in mid-air or not. If I, as in the player, was in mid-air, then its rigidbody would have its material set to have no friction. This meant I'd just rub against surfaces like no issue. When the player is grounded, it adds friction again so that it can walk around normally.<br /></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Enough with bugs, on to the new stuff! I added a door, a door button, and a sweet cut-scene that plays out when you press the door button.</span><br /></div>  <div class="paragraph">&#8203;<span style="color:rgb(37, 37, 37)">Checkout the video below for a much more detailed look into the system, what it can do, and the code behind it!</span><br /></div>  <div class="wsite-youtube" style="margin-bottom:10px;margin-top:10px;"><div class="wsite-youtube-wrapper wsite-youtube-size-auto wsite-youtube-align-center"> <div class="wsite-youtube-container">  <iframe src="//www.youtube.com/embed/Ffmyw0dIdz0?wmode=opaque" frameborder="0" allowfullscreen></iframe> </div> </div></div>  <div><div style="height: 20px; overflow: hidden;"></div> 				<div id='612910291189145575-gallery' class='imageGallery' style='line-height: 0px; padding: 0; margin: 0'><div id='612910291189145575-imageContainer0' style='float:left;width:33.28%;margin:0;'><div id='612910291189145575-insideImageContainer0' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws3-image-1_orig.png' rel='lightbox[gallery612910291189145575]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws3-image-1.png' class='galleryImage' _width='1117' _height='530' style='position:absolute;border:0;width:158.07%;top:0%;left:-29.03%' /></a></div></div></div></div><div id='612910291189145575-imageContainer1' style='float:left;width:33.28%;margin:0;'><div id='612910291189145575-insideImageContainer1' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws3-image-2_orig.png' rel='lightbox[gallery612910291189145575]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws3-image-2.png' class='galleryImage' _width='1115' _height='531' style='position:absolute;border:0;width:157.49%;top:0%;left:-28.74%' /></a></div></div></div></div><div id='612910291189145575-imageContainer2' style='float:left;width:33.28%;margin:0;'><div id='612910291189145575-insideImageContainer2' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws3-image-3_orig.png' rel='lightbox[gallery612910291189145575]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws3-image-3.png' class='galleryImage' _width='1103' _height='531' style='position:absolute;border:0;width:155.79%;top:0%;left:-27.9%' /></a></div></div></div></div><span style='display: block; clear: both; height: 0px; overflow: hidden;'></span></div> 				<div style="height: 20px; overflow: hidden;"></div></div>]]></content:encoded></item><item><title><![CDATA[3RD PERSON PLATFORMER Power-up DEMO]]></title><link><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-power-up-demo]]></link><comments><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-power-up-demo#comments]]></comments><pubDate>Mon, 17 Feb 2020 19:51:51 GMT</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-power-up-demo</guid><description><![CDATA[Hi all!  Today I made a double power-up systems based on top of my last post, the player avatar system in Unity.  First, I fixed a couple bugs from last time, one which limited your jump distance due to having only 1 max air-glide velocity. It limited the distance you could travel no matter if you were running and jumping or regular jumping. Now, there are 2 independent max air-glide velocities, allowing 2 different jump distances based on if you were performing a regular or a running jump. The  [...] ]]></description><content:encoded><![CDATA[<div class="paragraph">Hi all!</div>  <div class="paragraph">Today I made a double power-up systems based on top of my last post, the player avatar system in Unity.</div>  <div class="paragraph">First, I fixed a couple bugs from last time, one which limited your jump distance due to having only 1 max air-glide velocity. It limited the distance you could travel no matter if you were running and jumping or regular jumping. Now, there are 2 independent max air-glide velocities, allowing 2 different jump distances based on if you were performing a regular or a running jump. The second bug was not falling down on a wall you were colliding with whilst trying to move. I solved this by applying a physics material with 0 friction.</div>  <div class="paragraph">Now for the new stuff! I created 2 power-ups, a speed boost and a double jump.&nbsp;&#8203;<span style="color:rgb(37, 37, 37)">They both work as you'd expect, with public variables to control the outputs, and prefabs to place them down infinitely.</span></div>  <div class="paragraph">I also added a whole bunch of particles, for general running, jumping and landing, as well as for each power-up.</div>  <div class="paragraph">The speed boost looks like a ball with lighting sparking out in all directions, and the double jump looks like a ball of gust spinning upwards. When consumed, there is a unique splash effect for each power-up.</div>  <div class="paragraph">Each power-up also has particle indications around the player to indicate if they are active or not, and particle effects for when the added abilities are used, when you double jump, and when you run.</div>  <div class="paragraph">Checkout the video below for a detailed look into the system, what it can do, the code behind it, and the changes to the animation system too!</div>  <div class="wsite-youtube" style="margin-bottom:10px;margin-top:10px;"><div class="wsite-youtube-wrapper wsite-youtube-size-auto wsite-youtube-align-center"> <div class="wsite-youtube-container">  <iframe src="//www.youtube.com/embed/2cjS313cs2U?wmode=opaque" frameborder="0" allowfullscreen></iframe> </div> </div></div>  <div><div style="height: 20px; overflow: hidden;"></div> 				<div id='328713128896293415-gallery' class='imageGallery' style='line-height: 0px; padding: 0; margin: 0'><div id='328713128896293415-imageContainer0' style='float:left;width:33.28%;margin:0;'><div id='328713128896293415-insideImageContainer0' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-6_orig.png' rel='lightbox[gallery328713128896293415]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-6.png' class='galleryImage' _width='1112' _height='529' style='position:absolute;border:0;width:157.66%;top:0%;left:-28.83%' /></a></div></div></div></div><div id='328713128896293415-imageContainer1' style='float:left;width:33.28%;margin:0;'><div id='328713128896293415-insideImageContainer1' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-8_orig.png' rel='lightbox[gallery328713128896293415]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-8.png' class='galleryImage' _width='1120' _height='532' style='position:absolute;border:0;width:157.89%;top:0%;left:-28.95%' /></a></div></div></div></div><div id='328713128896293415-imageContainer2' style='float:left;width:33.28%;margin:0;'><div id='328713128896293415-insideImageContainer2' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-9_orig.png' rel='lightbox[gallery328713128896293415]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-9.png' class='galleryImage' _width='1129' _height='530' style='position:absolute;border:0;width:159.76%;top:0%;left:-29.88%' /></a></div></div></div></div><div id='328713128896293415-imageContainer3' style='float:left;width:33.28%;margin:0;'><div id='328713128896293415-insideImageContainer3' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-10_orig.png' rel='lightbox[gallery328713128896293415]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-10.png' class='galleryImage' _width='1123' _height='526' style='position:absolute;border:0;width:160.12%;top:0%;left:-30.06%' /></a></div></div></div></div><div id='328713128896293415-imageContainer4' style='float:left;width:33.28%;margin:0;'><div id='328713128896293415-insideImageContainer4' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-11_orig.png' rel='lightbox[gallery328713128896293415]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-11.png' class='galleryImage' _width='1127' _height='527' style='position:absolute;border:0;width:160.39%;top:0%;left:-30.19%' /></a></div></div></div></div><div id='328713128896293415-imageContainer5' style='float:left;width:33.28%;margin:0;'><div id='328713128896293415-insideImageContainer5' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-12_orig.png' rel='lightbox[gallery328713128896293415]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws2-image-12.png' class='galleryImage' _width='1127' _height='529' style='position:absolute;border:0;width:159.78%;top:0%;left:-29.89%' /></a></div></div></div></div><span style='display: block; clear: both; height: 0px; overflow: hidden;'></span></div> 				<div style="height: 20px; overflow: hidden;"></div></div>]]></content:encoded></item><item><title><![CDATA[3rd Person Platformer Player Avatar Demo]]></title><link><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-player-avatar-demo]]></link><comments><![CDATA[https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-player-avatar-demo#comments]]></comments><pubDate>Thu, 13 Feb 2020 21:57:42 GMT</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">https://www.cirtoyt.com/gameplay-programming-dev-blog/3rd-person-platformer-player-avatar-demo</guid><description><![CDATA[Hi all!  Today I made a 3rd person platformer player avatar system in Unity.  &#8203;It can walk, run, jump, attack, and comes with a whole bunch of ease-of-life features including air control, dropping off edges, reacting to head bumping, short/long jumps, and more!  You can even interact with the player with both keybaord/mouse and a controller!  Checkout the video below for a detailed look into the system, what it can do, the code behind it, and the animation system used!          				 				 [...] ]]></description><content:encoded><![CDATA[<div class="paragraph">Hi all!<br /></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">Today I made a 3rd person platformer player avatar system in Unity.</span></div>  <div class="paragraph"><span style="color:rgb(37, 37, 37)">&#8203;It can walk, run, jump, attack, and comes with a whole bunch of ease-of-life features including air control, dropping off edges, reacting to head bumping, short/long jumps, and more!</span><br /></div>  <div class="paragraph">You can even interact with the player with both keybaord/mouse and a controller!</div>  <div class="paragraph">Checkout the video below for a detailed look into the system, what it can do, the code behind it, and the animation system used!</div>  <div class="wsite-youtube" style="margin-bottom:10px;margin-top:10px;"><div class="wsite-youtube-wrapper wsite-youtube-size-auto wsite-youtube-align-center"> <div class="wsite-youtube-container">  <iframe src="//www.youtube.com/embed/i6Pcoa8mef8?wmode=opaque" frameborder="0" allowfullscreen></iframe> </div> </div></div>  <div><div style="height: 20px; overflow: hidden;"></div> 				<div id='197992287849537486-gallery' class='imageGallery' style='line-height: 0px; padding: 0; margin: 0'><div id='197992287849537486-imageContainer0' style='float:left;width:33.28%;margin:0;'><div id='197992287849537486-insideImageContainer0' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-1_orig.png' rel='lightbox[gallery197992287849537486]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-1.png' class='galleryImage' _width='1119' _height='533' style='position:absolute;border:0;width:157.46%;top:0%;left:-28.73%' /></a></div></div></div></div><div id='197992287849537486-imageContainer1' style='float:left;width:33.28%;margin:0;'><div id='197992287849537486-insideImageContainer1' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-2_orig.png' rel='lightbox[gallery197992287849537486]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-2.png' class='galleryImage' _width='858' _height='496' style='position:absolute;border:0;width:129.74%;top:0%;left:-14.87%' /></a></div></div></div></div><div id='197992287849537486-imageContainer2' style='float:left;width:33.28%;margin:0;'><div id='197992287849537486-insideImageContainer2' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-3_orig.png' rel='lightbox[gallery197992287849537486]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-3.png' class='galleryImage' _width='740' _height='448' style='position:absolute;border:0;width:123.88%;top:0%;left:-11.94%' /></a></div></div></div></div><div id='197992287849537486-imageContainer3' style='float:left;width:33.28%;margin:0;'><div id='197992287849537486-insideImageContainer3' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-5_orig.png' rel='lightbox[gallery197992287849537486]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-5.png' class='galleryImage' _width='1007' _height='523' style='position:absolute;border:0;width:144.41%;top:0%;left:-22.2%' /></a></div></div></div></div><div id='197992287849537486-imageContainer4' style='float:left;width:33.28%;margin:0;'><div id='197992287849537486-insideImageContainer4' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-6_orig.png' rel='lightbox[gallery197992287849537486]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-6.png' class='galleryImage' _width='1091' _height='529' style='position:absolute;border:0;width:154.68%;top:0%;left:-27.34%' /></a></div></div></div></div><div id='197992287849537486-imageContainer5' style='float:left;width:33.28%;margin:0;'><div id='197992287849537486-insideImageContainer5' style='position:relative;margin:5px;'><div class='galleryImageHolder' style='position:relative; width:100%; padding:0 0 75%;overflow:hidden;'><div class='galleryInnerImageHolder'><a href='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-7_orig.png' rel='lightbox[gallery197992287849537486]'><img src='https://www.cirtoyt.com/uploads/3/0/9/9/30990067/ws1-image-7.png' class='galleryImage' _width='1115' _height='532' style='position:absolute;border:0;width:157.19%;top:0%;left:-28.59%' /></a></div></div></div></div><span style='display: block; clear: both; height: 0px; overflow: hidden;'></span></div> 				<div style="height: 20px; overflow: hidden;"></div></div>]]></content:encoded></item></channel></rss>