<?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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tuiske &#187; Dev Blog</title>
	<atom:link href="https://www.tuiskeproductions.com/category/dev-blog/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.tuiskeproductions.com</link>
	<description></description>
	<lastBuildDate>Tue, 22 Nov 2016 15:03:08 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.9.39</generator>
	<item>
		<title>Devblog #2: Infinite Runner Mechanism in AwesomeDillos</title>
		<link>https://www.tuiskeproductions.com/infinite-runner-mechanism-in-awesomedillos/</link>
		<comments>https://www.tuiskeproductions.com/infinite-runner-mechanism-in-awesomedillos/#comments</comments>
		<pubDate>Mon, 20 Oct 2014 13:45:24 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Dev Blog]]></category>

		<guid isPermaLink="false">http://www.nonamegames.fi/?p=85</guid>
		<description><![CDATA[<p class="excerpt">Preface There are numerous ways to implement an infinite runner style mechanism in Unity. In this Devblog I will show you how we do it in our game, AwesomeDillos and at the same time teach you how to do it – or at least give you ideas on how to do it – in your own game. Let’s begin! What&#8230;</p><p class="more-link-p"><a class="btn btn-default" href="https://www.tuiskeproductions.com/infinite-runner-mechanism-in-awesomedillos/">Read more</a></p>]]></description>
				<content:encoded><![CDATA[<h2>Preface</h2>
<p>There are numerous ways to implement an infinite runner style mechanism in Unity. In this Devblog I will show you how we do it in our game, AwesomeDillos and at the same time teach you how to do it – or at least give you ideas on how to do it – in your own game. Let’s begin!</p>
<h2>What you will need</h2>
<p>To get started, we need 2-5 sprites which will serve as the pieces of the level that we will be generating ad infinitum (of course, the more you have these modules the more diversity you will get in the level). We will need something to represent the player also, so use a sprite or a generic cube. If you don’t have any sprites of your own, you can download and use quality material from www.opengameart.org.</p>
<h2>Basic idea</h2>
<p>The concept here is that each of the level sprites will be made into a prefab and by constructing different kinds of prefabs from different kinds of sprites, it will create variation to the level. For example, one prefab could be a sprite of a hill, added with power-ups, collectables etc. and another could be a sprite of a trap with its corresponding collectables and such. So it’s sort of a modular approach. You construct different modules and generate them randomly or if you want with some predetermination and that creates the infinite map.</p>
<h2>Let’s begin</h2>
<p>First of all, create a new folder called “Resources” in your Assets folder. Here we will create another folder called “Prefabs”. Create 5 prefabs into this folder by clicking the right mouse button  Create  Prefab. Then add the sprites to the “Sprites” folder, add them to the scene and drag them to each individual prefab. Now your prefabs folder and your folder hierarchy should look like this:</p>
<p>You can of course name the individual prefabs anyway you want.</p>
<h2>The LevelGenerator script</h2>
<p>Let’s take a look at the LevelGenerator script that handles the creation of our level.</p>
<p><script src="https://gist.github.com/justicecase/263e2b81907901b32800.js"></script><br />
The script is pretty self-explanatory and we have commented all the important parts. What we basically do is we load all the prefabs into an array (levelPieces) and at appropriate times add parts from the array to the queue (piecesQueue) and also remove the parts that are obsolete (meaning the player has moved past them far enough so they can be deleted).</p>
<p>What keeps track of the parts in the actual scene is the activeParts list which we use delete the correct level pieces in the right order. It’s a pretty simple approach but it’s powerful enough so that we can add the variation to the level that we need. By using prefabs as modules for the map we can add all sorts of things to them and make the level seem different every time you play it.</p>
<p>Remember, you can add child objects to prefabs so the prefab can be more than just a sprite of the level; it can have collectables like power-ups and coins also. You can have predetermination instead of complete randomness in the level by for example constructing arrays with specific prefabs that make up a different sort of section that you want and then queue the whole array at some point of your own choosing.</p>
<h2>Player movement</h2>
<p>Here’s a small script for the automated player movement so you can see the mechanism in action:<br />
<script src="https://gist.github.com/justicecase/388bb44a02bb3238a834.js"></script></p>
<p>Here’s how it should look when done right (the footage is not from actual gameplay, just the mechanic in action at its most basic state):</p>
<p><img class="alignnone size-medium wp-image-87" src="http://www.nonamegames.fi/wp-content/uploads/2014/10/FinalGif.gif" alt="FinalGif" /></p>
<p>So that is basically the mechanism we use in our game, AwesomeDillos. We do use a separate system for the background generation and parallaxing but that’s a topic for another devlog in the near future! Stay tuned for a video version of this devlog where we will explain the mechanism in greater detail, perhaps there is something that you would still like to know more about.</p>
<p>Be sure to follow us on <a href="https://www.facebook.com/nngames" target="_blank">facebook</a> and <a href="https://twitter.com/NN_Games" target="_blank">twitter</a>!</p>
<p style="text-align: right;">-the Tuiske team</p>
]]></content:encoded>
			<wfw:commentRss>https://www.tuiskeproductions.com/infinite-runner-mechanism-in-awesomedillos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dev Blog Part 1</title>
		<link>https://www.tuiskeproductions.com/dev-blog-part-1/</link>
		<comments>https://www.tuiskeproductions.com/dev-blog-part-1/#comments</comments>
		<pubDate>Mon, 11 Aug 2014 11:12:01 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Dev Blog]]></category>

		<guid isPermaLink="false">http://www.nonamegames.fi/?p=48</guid>
		<description><![CDATA[<p class="excerpt">Hello fellow game developers/gamers/other awesome cool people who found this post! Is it hot and sunny outside there as well? If so, that’s great but stay inside anyway, close the shutters, turn the lights nice and low and keep on reading. If not, well what else is there to do, huh? Our game project that we’ve been developing this past&#8230;</p><p class="more-link-p"><a class="btn btn-default" href="https://www.tuiskeproductions.com/dev-blog-part-1/">Read more</a></p>]]></description>
				<content:encoded><![CDATA[<p>Hello fellow game developers/gamers/other awesome cool people who found this post! Is it hot and sunny outside there as well? If so, that’s great but stay inside anyway, close the shutters, turn the lights nice and low and keep on reading. If not, well what else is there to do, huh?</p>
<p>Our game project that we’ve been developing this past summer (while we’ve been one of the teams at <a href="http://www.boostturku.com/startup-journey">Turku Boost Startup Journey</a>), has progressed to alpha phase. Our core mechanics are now implemented but we will be updating them and we’re also gonna be adding lots of cool stuff in the very near future.<br />
The game has 2 main mechanics that we will go into detail on how they were made: the drawing and the infinite runner mechanic. And because we use Unity as our game engine, these will also serve as Unity tutorials so as we show you the concept and implementation of these mechanics, you will get to learn how to use Unity and hopefully get some ideas on how to implement these sort of mechanics yourself. Learning is so cool, right?</p>
<p>The main objective in our game is to navigate the player as far as you can by drawing objects in to the game that help the main character progress through the levels. You also need to collect items and chili’s that boost your speed momentarily and rack up your score too. The key is to react quickly to the dangers in the environment &#8211; for example, there will be holes in the level that you don’t want the hero to drop into. So in this situation you would draw a bridge over the gap so that the hero can cross it.</p>
<p>We also have a new main character that our graphics designer Marianna provided for us. It’s an armadillo who wears these cool old timey pilot glasses that he needs when flying through the air at high speeds. Eye safety is important people! As is looking awesome of course.</p>
<p>So, if you’re interested in finding out how we make our game and also learning about all things Unity, follow us on Twitter and Facebook so you will updated the moment we release some new info. Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.tuiskeproductions.com/dev-blog-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
