<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-3823910621157289707</id><updated>2021-08-18T03:53:17.690+08:00</updated><category term="Unity" /><category term="Death Zone Zero" /><category term="programming" /><category term="Blender" /><category term="Victis" /><category term="Nintendo DS" /><category term="homebrew" /><category term="QuongKeyboard" /><category term="gunner01" /><category term="Linux" /><category term="Ubuntu" /><category term="Strategy RPG Test" /><category term="ಠ_ಠ" /><category term="Design" /><category term="Ingress Game" /><category term="Article" /><category term="Vae Victis" /><category term="concept art" /><category term="Crazy Ideas" /><category term="Graywalkers" /><category term="animé" /><category term="GCIDE" /><category term="GNU" /><category term="NewDictS" /><category term="Nth Legion" /><category term="Paprika" /><category term="Paranoia Agent" /><category term="Playstation" /><category term="StarDict" /><category term="dictionary" /><category term="digital asset management" /><category term="literary commentaries" /><title type="text">Anomalous Underdog</title><subtitle type="html">Video Game Development Blog</subtitle><link rel="alternate" type="text/html" href="http://anomalousunderdog.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default?start-index=26&amp;max-results=25&amp;redirect=false" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>110</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/AnomalousUnderdog" /><feedburner:info uri="anomalousunderdog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-4755742026901993877</id><published>2015-12-12T17:01:00.001+08:00</published><updated>2015-12-12T17:01:17.259+08:00</updated><title type="text">HT: Adding Dash movement</title><content type="html">I was thinking if the dash feature should be a new script or just add it to the PlayerMover script. I thought, "dash is simply a speed boost for a limited time". There's no need to create a new move script, all I need to do is change the speed while dash is in effect.&lt;br /&gt;&lt;br /&gt;There were two ways to specify this. Either I express it in terms of distance and duration, or I express it in terms of speed and duration. I almost always start things this way, thinking of what variables I need to implement the functionality.&lt;br /&gt;&lt;br /&gt;Both methods should give the same end result, but my way of thinking differs depending on which I start with, and that tends to take the development in different directions.&lt;br /&gt;&lt;br /&gt;I went with distance and duration (speed is derived by distance divided by duration).&lt;br /&gt;&lt;br /&gt;My first attempts were crude. I simply created a boolean to signify if the character is dashing or not. It's set to true when the player presses the dash button (A on the Xbox controller). When I do, current speed is set to an incredibly high value. I record the time the dash should end (current time plus dash duration). This "end time" I check for continually, and if we've passed that time, the dash is set to false and speed is back to normal.&lt;br /&gt;&lt;br /&gt;Pretty simple, but I noticed a lot of things that go wrong:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The camera follows the character smoothly (it kind of lags behind the player when you start moving). This is normally fine, but since dash has high speed, it makes the character go off-screen for a few moments, enough to make me feel like it was an annoyance. There needed to be different cam follow behaviour while the character is in dash.&lt;/li&gt;&lt;li&gt;The stopping of the dash was too abrupt. Imagine how The Road Runner (Looney Tunes) stops. Nothing bad there but the thing is, the camera is following the player, so the whole world feels like it's suddenly stopping. This makes it feel rather motion-sickness inducing. There needs to be some sort of easing out to make it smooth.&lt;/li&gt;&lt;li&gt;The character's cape was flailing wildly when subject to the high speed of the dash.&lt;/li&gt;&lt;li&gt;The character's turn speed is too slow for this high speed dash. The dash had already finished, and only after a second or so does the character finish facing the direction where it went to. I needed a different turn speed while in dash.&lt;/li&gt;&lt;li&gt;I haven't made the character play the dash animation yet, so it looks kinda weird.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;First thing I did was change my cam follow script to stop the smoothening behaviour when following the character. This is only done during a dash (my PlayerMover script now has a public bool IsInDash property). Later on I'll realize this was the wrong way to go. Just as bad as when the dash stops abruptly, gluing the camera to the player was making the whole thing feel abrupt. It made it look like the dash was moving in stutters. I thought my framerate was just bad. I will not realize my stupidity until at the end when I was polishing the dash movement.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I moved on. To fix the abrupt stopping, at first I thought I'd be clever and create an AnimationCurve and use that for the easing out. Then I remembered why I hate using Unity's curve editor controls.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In Photoshop, the curve controls allow you to move the handles as far away as you want. This is important. The distance of the handles can influence the shape of the curve. And the farther the handles are, the finer control you have at rotating them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-BRyPcnayKUo/VmveUEvDCRI/AAAAAAAAJew/jVvNe3aDrIM/s1600/Photoshop%2Bcurves.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="268" src="http://1.bp.blogspot.com/-BRyPcnayKUo/VmveUEvDCRI/AAAAAAAAJew/jVvNe3aDrIM/s640/Photoshop%2Bcurves.gif" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In Unity, you can't move the handles farther or nearer. You can only rotate them. This was frustrating for me:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-VY2TdR4KIP4/Vmve-QUMkRI/AAAAAAAAJfA/IqQewGOVPlI/s1600/2015-12-08_00-06-54.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-VY2TdR4KIP4/Vmve-QUMkRI/AAAAAAAAJfA/IqQewGOVPlI/s1600/2015-12-08_00-06-54.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In Photoshop, it's so easy to make this kind of easing out curve:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Yd1PNB8R-cs/VmvfceBu_SI/AAAAAAAAJfI/En0seY1wUrQ/s1600/Photoshop%2Beasing%2Bcurve.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="http://3.bp.blogspot.com/-Yd1PNB8R-cs/VmvfceBu_SI/AAAAAAAAJfI/En0seY1wUrQ/s640/Photoshop%2Beasing%2Bcurve.gif" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;You just needed to move the handles on both ends.&lt;br /&gt;&lt;br /&gt;With Unity on the other hand, you can't move the handles away. So you need to compensate by adding more handles to achieve the same curve more or less, and it's not easy to get it right:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/-CBsVS0HTvoI/Vmvf0zZUQOI/AAAAAAAAJfU/kD43NbN0Rps/s1600/Unity%2Beasing%2Bcurve.gif" imageanchor="1"&gt;&lt;img border="0" height="197" src="http://1.bp.blogspot.com/-CBsVS0HTvoI/Vmvf0zZUQOI/AAAAAAAAJfU/kD43NbN0Rps/s320/Unity%2Beasing%2Bcurve.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;I highly doubt the things I like about Photoshop's curve controls is proprietary stuff. Blender (an open-source program) does it too.&lt;br /&gt;&lt;br /&gt;So I thought to myself, "why am I being a masochist?". So I stopped using Unity's curve editor and just moved on. I'll polish that later.&lt;br /&gt;&lt;br /&gt;Adjusting the turn speed was easy. I simply have a new turn speed variable meant to be used during dash, and use that instead whenever the dash boolean was true.&lt;br /&gt;&lt;br /&gt;What took up the most time was making some appropriate dash animations. I had one prepared, but it was just a single frame pose. I thought that would be enough. I was wrong. It looked horribly amateurish.&lt;br /&gt;&lt;br /&gt;I thought maybe if I went ahead and added that dash recovery animation that I wanted to make, it'll look better! You see, the dash animation I had in mind was inspired by Alice's dash in Alice: Madness Returns. When she dashes, she zips by fast, and we only get to see her already in a sort of semi-crouched position, slowly going back to her idle pose. It's like she was throwing her body momentum downwards to stop the dash. And it actually made sense visually. In my sheer poetic genius, I ended up calling it, simply, dash recovery.&lt;br /&gt;&lt;br /&gt;So I created something to that effect in Blender, and added it in the Mecanim state machine.&lt;br /&gt;&lt;br /&gt;I figured that, the player isn't allowed to move while in the dash recovery period, but he can still do another dash (provided he still has enough energy to do so, once I implement energy usage).&lt;br /&gt;&lt;br /&gt;At first I had a separate state for the dash loop, and for the dash recovery animation. The more I tested it, the more I saw that the dash animation and dash movement were out of sync. Sometimes the animation played just in time, sometimes there was this weird delay, and the animation would play well after the dash movement finished. Turns out it's because the dash animation isn't getting played if the state machine is in the middle of a transition. So if the character was transitioning from idle to move, dash doesn't activate yet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/TD_6Elj2zdQ/0.jpg" src="https://www.youtube.com/embed/TD_6Elj2zdQ?feature=player_embedded" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I Googled and checked the docs, and the way to fix it is to set the "Interruption Source" to something other than "None" (the default value). It helped, but it still didn't work quite well. I thought, maybe I should start using that new StateMachineBehaviour script I read about. And as I was skimming through the template file Unity gave me, I thought, no, I think I'm just making things harder than it should be.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then I thought of what exactly I want Mecanim to do. So I Googled "mecanim state transition to itself and replay animation at beginning". Then I saw this page in Unity Answers: &lt;a href="http://answers.unity3d.com/questions/391639/restart-same-animation-in-mecanim.html"&gt;Restart same animation in Mecanim&lt;/a&gt;. As I was looking through it, I thought it looked familiar. I actually answered this question with "use Animator.ForceStateNormalizedTime" That doesn't exist in Unity 5 anymore though. Someone answered you could just use "Animator.Play". So this actually means we can bypass the transition rules in the state machine and force it to jump to a state, all of a sudden.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;For a scant few moments I pondered on the meaninglessness of creating lots of nice state machine features, when you are provided with the means to undermine it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, Animator.Play worked perfectly and fixed the problem.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I also simplified the state machine by removing the dash loop state and instead use the dash recovery animation itself as the dash animation. I don't have a dash recovery state anymore.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I also removed the Move.Forward state and just kept the Move.Forward.Loop state. The Move.Forward was actually an animation to play to transition from idle to move, but there was little need for it as Unity already handles fading of one animation to another.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/-4Ogu5NWmnsA/Vmvg7nKnPII/AAAAAAAAJfk/gWXJyxOTvP8/s1600/2015-12-12_16-54-41.png" imageanchor="1"&gt;&lt;img border="0" height="410" src="http://3.bp.blogspot.com/-4Ogu5NWmnsA/Vmvg7nKnPII/AAAAAAAAJfk/gWXJyxOTvP8/s640/2015-12-12_16-54-41.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;For the dash easing curve, I settled for using the easeOutQuint function (see &lt;a href="http://easings.net/"&gt;http://easings.net/&lt;/a&gt;) to make a nice, perfect quintuple curve. For the camera follow script, instead of gluing the camera to the character, I simply gave the camera a speed boost when dash is occurring so it can catch up easily.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I ended up expressing the variables in terms of speed and duration.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/ujTg7hclQj8/0.jpg" src="https://www.youtube.com/embed/ujTg7hclQj8?feature=player_embedded" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/7no6_JzBQAA" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/4755742026901993877/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2015/12/ht-adding-dash-movement.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/4755742026901993877" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/4755742026901993877" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/7no6_JzBQAA/ht-adding-dash-movement.html" title="HT: Adding Dash movement" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-BRyPcnayKUo/VmveUEvDCRI/AAAAAAAAJew/jVvNe3aDrIM/s72-c/Photoshop%2Bcurves.gif" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2015/12/ht-adding-dash-movement.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-5512012028598527457</id><published>2015-12-06T02:44:00.000+08:00</published><updated>2015-12-06T02:51:46.576+08:00</updated><title type="text">HT: Adding lean left/right to the mecanim animation</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/Ji5bfSS3XgY/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/Ji5bfSS3XgY?feature=player_embedded" width="320"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;It took a while to figure this out. To do this, I needed to create new animations, a steer left, and steer right animation, and play them when the player is turning left or right.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-kOplVtTcZ5E/VmLYaXVUq7I/AAAAAAAAJeU/1kk852BtLro/s1600/Blender_%255BCFilesProjectsSelfHypertension-V1H_2015-12-05_20-27-44.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="345" src="http://2.bp.blogspot.com/-kOplVtTcZ5E/VmLYaXVUq7I/AAAAAAAAJeU/1kk852BtLro/s640/Blender_%255BCFilesProjectsSelfHypertension-V1H_2015-12-05_20-27-44.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Technically, they weren't animations. They were just single frame poses.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Preparing the Mecanim state machine for this is easy: the move animation state just needs to be converted to a blend tree, then I'd add the steer left and right animations to it:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/-QiUcL8GKD6o/VmLTtxGEF6I/AAAAAAAAJcc/u3kNL1j73Ds/s1600/2015-12-05_16-43-51.png" imageanchor="1"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-QiUcL8GKD6o/VmLTtxGEF6I/AAAAAAAAJcc/u3kNL1j73Ds/s1600/2015-12-05_16-43-51.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;I made a new parameter called "Steer". It's a float. The "moving straight forward" animation is set to use 0, the "lean left" is in -1, and the "lean right" is in +1.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The preview shows how it will end up looking like:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-yOc87qCEtbU/VmLX2hNqSwI/AAAAAAAAJeI/4_20JEPLkJg/s1600/2015-12-05_16-52-14.gif" imageanchor="1"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-yOc87qCEtbU/VmLX2hNqSwI/AAAAAAAAJeI/4_20JEPLkJg/s1600/2015-12-05_16-52-14.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, how to properly play those in runtime? What I want to do is detect when the player is rotating the thumbsticks, and use that to play the lean left and lean right animations correspondingly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-XjfIAcwhAoE/VmLU-9B_3nI/AAAAAAAAJdU/bmYvth1nM6w/s1600/thumbsticks.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-XjfIAcwhAoE/VmLU-9B_3nI/AAAAAAAAJdU/bmYvth1nM6w/s1600/thumbsticks.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This same thumbstick is the one used for movement. So it's when I'm rotating the thumbstick I should transition from lean left to right and vice-versa.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Turns out it's not so easy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm using CharacterController which doesn't calcualte angular velocity. I could've just used that to detect when the character is rotating (equivalent to when the player is rotating the thumbstick).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My first thought was to use dot product on the character's current forward direction, and the direction where he needs to go to. You see, I make the character smoothly rotate towards where the thumbsticks are pointing. When you want to do a smooth rotation, you'd need to store where they currently are facing, and where they need to face to, and slowly interpolate to where they need to face to. So I thought of using those existing variables already.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ycLl0y_gVV8/VmLUMtvkwrI/AAAAAAAAJdA/isW7KddHomI/s1600/2015-12-05_18-03-10.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-ycLl0y_gVV8/VmLUMtvkwrI/AAAAAAAAJdA/isW7KddHomI/s400/2015-12-05_18-03-10.gif" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The red dot here is where the thumbstick is pointing to, and the yellow dot is where the character is currently facing.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;The dot product tells me how far apart the two direction values are. But it doesn't tell me if the direction where the character should go to is to their left or to their right. That's important since I need to know if I should play the lean left or lean right animation.&lt;br /&gt;&lt;br /&gt;This is the video that taught me dot products:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/Q9FZllr6-wY/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/Q9FZllr6-wY?feature=player_embedded" width="320"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;So I needed an additional way to determine as to what direction the thumbsticks are rotating to. I thought of deriving the angles (in degrees) that the direction values are creating. Then subtract the two to tell if we're rotating to the right or to the left.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It almost worked well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I noticed "bumps" when I rotate my character to the left.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/ouCyS7s_pDs/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/ouCyS7s_pDs?feature=player_embedded" width="320"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I realized it was because angle values I calculate always get clamped to 360 degrees. When the target angle is over the 360 degree mark but the current angle isn't over that yet, the resulting value is too big, causing the "bump".&lt;br /&gt;&lt;br /&gt;I recorded the angle values to a graph, so I could see what exact values I'm getting.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/-usi7wcRkCpQ/VmLWhCv9JVI/AAAAAAAAJdk/V_Xh6RacQC0/s1600/2015-12-05_17-59-08.png" imageanchor="1"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-usi7wcRkCpQ/VmLWhCv9JVI/AAAAAAAAJdk/V_Xh6RacQC0/s1600/2015-12-05_17-59-08.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;I figured the only way I could get around this was to get the proper angle value when it crosses over the 360 degrees mark. With a little bit of trial and error, I found the code that best suited the situation. It looks like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;if (_angleDelta &amp;gt; 270) _angleDelta = -(360 - &amp;nbsp;_angleDelta);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;if (_angleDelta &amp;lt; -270) _angleDelta = 360 + _angleDelta;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The only thing left was that I still noticed spikes in the graph of my "Steer" getting function. Depending on how bad your framerate is, it made the whole animation look like it was stuttering. I guess there was noise in the input data.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-xBUwZ4LlYhw/VmLWwJck8XI/AAAAAAAAJdw/eIcLCcw5cio/s1600/2015-12-05_18-36-35.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="109" src="http://1.bp.blogspot.com/-xBUwZ4LlYhw/VmLWwJck8XI/AAAAAAAAJdw/eIcLCcw5cio/s640/2015-12-05_18-36-35.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;This graph looked a lot worse before.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/mAgvVxryMX8/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/mAgvVxryMX8?feature=player_embedded" width="320"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I just added a sort of average filter on the last 4 values recorded in the graph and use that instead:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/-3ZILbUJaNJo/VmLW63YxDYI/AAAAAAAAJd8/-bM9-xgNM1g/s1600/2015-12-05_18-37-53.png" imageanchor="1"&gt;&lt;img border="0" height="114" src="http://1.bp.blogspot.com/-3ZILbUJaNJo/VmLW63YxDYI/AAAAAAAAJd8/-bM9-xgNM1g/s640/2015-12-05_18-37-53.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/2OKXxiv9mzg/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/2OKXxiv9mzg?feature=player_embedded" width="320"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;span id="goog_208910879"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;It all seems rather straightforward now that I've put all this in a blog post, but before this, I forgot what "dot product" is and what values it returns, I didn't know what code to use to clamp angle values, and I didn't know what an "average filter" was. There was lots of looking through the Unity manual, and I wasn't even sure if this "Steer" factor idea was the right way to go about it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's all exploratory when solving a problem like this and trying out clever solutions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was a little against posting a blog post about this because it did take up the entire day, making all those screenshots and videos, and it's making me feel that people would think I'm obsessing over the little insignificant details. At least the time it took to make and fix the whole steer feature took only about a day of work.&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/hWpguL4EEmQ" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/5512012028598527457/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2015/12/ht-adding-lean-leftright-to-mecanim.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/5512012028598527457" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/5512012028598527457" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/hWpguL4EEmQ/ht-adding-lean-leftright-to-mecanim.html" title="HT: Adding lean left/right to the mecanim animation" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/Ji5bfSS3XgY/default.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2015/12/ht-adding-lean-leftright-to-mecanim.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-5523579493028270995</id><published>2015-02-18T01:52:00.000+08:00</published><updated>2015-02-18T01:52:05.201+08:00</updated><title type="text">Visa Application</title><content type="html">&lt;div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;I gave myself a mental note to not get distracted while a self-satisfied woman looked like she was letting her boobs bounce on purpose as she walked eagerly to the exit. &lt;/span&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: inherit;"&gt;Guess someone's visa got approved. &lt;/span&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: inherit;"&gt;I looked up again. The dot-matrix screen reminded us whose stub number was ready for interview. Above the shuffling of feet and the confused whispers, the usherette kept on reminding us that the stub numbers come up in random order. &lt;/span&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;"Ah, raandoom!" I heard someone say beside me.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: inherit;"&gt;What that really meant was, simply that some applicants finish their talk with the consul faster than others.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;...&lt;/span&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: inherit;"&gt;Honestly, in my head I thought the interview consisted of sitting down in some posh office. Some nice plants, a portrait, certificates hanging on the wall, maybe a golf club leaning somewhere.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;And then I'd come in, nervously stammering and showing my papers to a stern old man who'd look like he never has enough time.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;Of course, as with most of what I imagine, it was nothing like that.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;The embassy probably gets a hundred or so applicants per day, judging from the long lines and the amount of seats. &lt;/span&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;So it all worked like a production line.&amp;nbsp;Apart from the guards and the usherettes, all the personnel you talk to are behind windows, including the consuls. There's a chute at the bottom of the window where you pass down your passport.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;The whole thing reminded me of computers and how they pass data around.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;It was a long wait before my number lit up, so I had a lot of time on my hands.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;Rummaged through my old passports. I went to Hong Kong when I was a kid? Oh wait, I did. I remember riding that World's Longest Escalator ride.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;I didn't think much of it back then. But it turned out it really&amp;nbsp;&lt;i&gt;was&lt;/i&gt;&amp;nbsp;the World's Longest Escalator.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;Someone, at some point in time, thought it was a good idea to put SeaWorld Hong Kong on top of a mountain.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;I looked at all those ink stamps on the pages. Departure. Arrival. They had different shapes, bright colors. I heard myself make a wistful laugh. They made my old passports look like stamp collections.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;I saw my DS-160 form had the words&amp;nbsp;&lt;i&gt;CAPTURED&lt;/i&gt;&amp;nbsp;stamped on it.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: inherit;"&gt;For a moment, the nervousness was replaced with disgust. Middle-aged guys ogling X-ray body scans of passengers behind the security doors of an airport. Videos of police brutality on Facebook. Why would anyone want to&amp;nbsp;&lt;i&gt;live&lt;/i&gt;&amp;nbsp;there? &lt;/span&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;It makes me think getting into the US isn't as rosy and important as these hopefuls are making it out to be. Wearing smug faces, trying to display they know more than the guy next to them. Maybe it's just to cope with the nervousness? Validating all the hardships they went through?&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;In a place like this, you could tell who were the people who had actual character.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;...&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;The guy beside me started saying out loud the subtitles on the instructional video playing in front of us.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;i&gt;&lt;span style="font-family: inherit;"&gt;Jeez... Practicing English just now huh?&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;More time passed.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;I couldn't help yawning over and over. Well, I did take the 7:15 AM. I needed the earliest slot I could find. Russ had been bugging me already, and I've put this off for a long time.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;i&gt;Man...&lt;/i&gt;&amp;nbsp;I found myself slouching in my seat as I thought,&amp;nbsp;&lt;i&gt;I just want to get back in front of a computer.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;The instructional video even managed to be funny at one point:&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="border: none; margin: 0px 0px 0px 40px; orphans: 2; padding: 0px; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;Myth: Only cute people get their visa applications approved.&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="border: none; margin: 0px 0px 0px 40px; orphans: 2; padding: 0px; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;Fact: Non-models get their visas approved every day.&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;Hah.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;The next slide came up:&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;Myth: Single people get their visa applications denied.&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;Fact: Your honesty is more important than your marital status.&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;Ok, not laughing so much now.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;...&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;When my number came up, I kept looking at it to make sure it really was mine. 2126. Probably took too long, cause the guy beside me caught my attention and told me my turn is up.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;Looking back, the interview ended faster than I thought.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;I just ended up talking about being chief technology officer, us having a booth in Game Developer's Conference, the game we're marketing.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"Games?", he asked.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"Yeah, video games.", I nodded back.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"Oh, cool.", he said.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"Our game looks like this...", I held up a printout of one of the screenshots of our game.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"So are you guys gonna put this out on... games..."&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"Sorry?" I asked.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"I mean, are you guys like, will you put this out on the Xbox?"&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"Oh," I shook my head, "Getting into consoles is a lot more difficult, so we're targeting... only Windows for now."&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"Ah", he made a face as if he'd scratched a card that said 'Try again next time'.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"So how long do you plan to stay?"&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"Oh about... 2 weeks maybe. My partner has a relative in Las Vegas so that's probably where we're staying--"&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"Ok, visa approved. Thank you."&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;I saw him place my passport on a pile. Presumably, the pile of passports that would get visas.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;"Oh, thank you.", I managed to reply, before leaving.&amp;nbsp;&lt;i&gt;I haven't even showed any of the documents yet,&lt;/i&gt;&amp;nbsp;I thought as I left.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;I didn't look into his eyes the whole time.&amp;nbsp;I was told that it gave the impression of shifty-eyed liars to Americans.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;I wonder if he didn't like that.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;...&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;As I walked out, there was only one thing that crossed my mind.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;I took out the cheap black ballpen I stuck in my left pocket a few hours ago, and stared at it.&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="orphans: 2; text-align: -webkit-auto; widows: 2;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;i&gt;Fuck, I got duped into buying this stupid ballpen!&lt;/i&gt; The old lady in front of the embassy was hawking ballpens, making them sound important. Turns out I didn't even&amp;nbsp;&lt;i&gt;need&lt;/i&gt;&amp;nbsp;to write anything the whole time.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/9IJJpKJWyIw" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/5523579493028270995/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2015/02/visa-application.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/5523579493028270995" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/5523579493028270995" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/9IJJpKJWyIw/visa-application.html" title="Visa Application" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2015/02/visa-application.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-1991952664297007799</id><published>2014-09-24T23:31:00.001+08:00</published><updated>2014-09-24T23:31:20.928+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ingress Game" /><title type="text">Ingress Day 4</title><content type="html">I decided to explore the southern part of my nearby vicinity. There were two portals there: the Ateneo Blue Eagle Gym, and the now erased graffiti on some doors of an abandoned building by the roadside.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.ingress.com/intel?ll=14.634822,121.075317&amp;amp;z=18"&gt;Blue Eagle Gym&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This portal looked like no one was reclaiming it. So I went here to try to get it.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ju2Ijz_2mi0/VCLhUFJ3EiI/AAAAAAAAFG0/XZd-Gvd-2Tk/s1600/blue%2Beagle.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-ju2Ijz_2mi0/VCLhUFJ3EiI/AAAAAAAAFG0/XZd-Gvd-2Tk/s1600/blue%2Beagle.jpg" height="240" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The gym is inside the Ateneo University campus. Since I'm not a student there, I could not get in. However, I thought I could reach it by standing outside the school grounds, by the fence. I can almost reach it, but couldn't. So I had to abandon this one.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-rymbk9OqIlQ/VCLhJoe66jI/AAAAAAAAFGk/JXWiiIWxTc4/s1600/Screenshot_2014-09-24-18-41-22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-rymbk9OqIlQ/VCLhJoe66jI/AAAAAAAAFGk/JXWiiIWxTc4/s1600/Screenshot_2014-09-24-18-41-22.png" height="320" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.ingress.com/intel?ll=14.633353,121.074324&amp;amp;z=18"&gt;Marked Doorway Murals&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This graffiti portal, which I remember being there before but had been removed some time ago, seemed like no one was touching it, so I investigated it.&lt;br /&gt;&lt;br /&gt;Turns out it was nearby a lot of telephone wires, and some power line posts with transformers. Seems like that disrupted my 3G connection to the game, so I couldn't interact with this portal at all. I logged out to try to "refresh" the game, but I couldn't even log-in again while I was in that spot.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Jz7VE-hXBUc/VCLhOduSWvI/AAAAAAAAFGs/nb_AFOKYIPM/s1600/marked%2Bdoorways.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-Jz7VE-hXBUc/VCLhOduSWvI/AAAAAAAAFGs/nb_AFOKYIPM/s1600/marked%2Bdoorways.jpg" height="240" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-6FEb228qSk0/VCLhIOUQZWI/AAAAAAAAFGc/W5QHy8F2F9s/s1600/Screenshot_2014-09-24-18-51-52.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-6FEb228qSk0/VCLhIOUQZWI/AAAAAAAAFGc/W5QHy8F2F9s/s1600/Screenshot_2014-09-24-18-51-52.png" height="320" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;So all in all, I couldn't expand my options here.&lt;br /&gt;&lt;br /&gt;Meanwhile there's a place nearer my "safehouse" that I thought would work as a new portal and I was thinking of submitting it. I'll try it one time.&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/7MzpKVhG9rM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/1991952664297007799/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2014/09/ingress-day-4.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/1991952664297007799" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/1991952664297007799" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/7MzpKVhG9rM/ingress-day-4.html" title="Ingress Day 4" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-ju2Ijz_2mi0/VCLhUFJ3EiI/AAAAAAAAFG0/XZd-Gvd-2Tk/s72-c/blue%2Beagle.jpg" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2014/09/ingress-day-4.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-384088489540263930</id><published>2014-09-24T11:30:00.001+08:00</published><updated>2014-09-24T11:31:06.643+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ingress Game" /><title type="text">Ingress Day 3</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Finally reached level 3!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-FqAXlgdUsiU/VCI6El6x4BI/AAAAAAAAFFc/RpgFbZUP5dM/s1600/Screenshot_2014-09-23-06-51-36.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-FqAXlgdUsiU/VCI6El6x4BI/AAAAAAAAFFc/RpgFbZUP5dM/s1600/Screenshot_2014-09-23-06-51-36.png" height="320" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;And got something pretty powerful:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-MY8WguhYgeg/VCI6HgHLCyI/AAAAAAAAFFg/R1hOunzvwSM/s1600/Screenshot_2014-09-23-06-55-06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-MY8WguhYgeg/VCI6HgHLCyI/AAAAAAAAFFg/R1hOunzvwSM/s1600/Screenshot_2014-09-23-06-55-06.png" height="320" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;An Enlightened captured that portal I was using. I still haven't reclaimed it. I realize I should have used Power Cubes when my XM reserves run out when attacking, so I could keep at it.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-zqNm85SVFpA/VCI6MfPnIfI/AAAAAAAAFFo/HhNq1WrBJVI/s1600/Screenshot_2014-09-23-13-10-24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-zqNm85SVFpA/VCI6MfPnIfI/AAAAAAAAFFo/HhNq1WrBJVI/s1600/Screenshot_2014-09-23-13-10-24.png" height="320" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/BQWHkHBrF2U" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/384088489540263930/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2014/09/ingress-day-3.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/384088489540263930" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/384088489540263930" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/BQWHkHBrF2U/ingress-day-3.html" title="Ingress Day 3" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-FqAXlgdUsiU/VCI6El6x4BI/AAAAAAAAFFc/RpgFbZUP5dM/s72-c/Screenshot_2014-09-23-06-51-36.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2014/09/ingress-day-3.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-2046767699414784530</id><published>2014-09-22T08:33:00.002+08:00</published><updated>2014-09-24T11:31:06.640+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ingress Game" /><title type="text">Ingress Day 2</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;I accidentally broke my toenail while running. Had to limp my way back to the apartment.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-EUbX0HkaUVw/VB9smGMGX6I/AAAAAAAAFEI/3w7wnn1jCs0/s1600/IMG_20140922_065220_my_foot.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-EUbX0HkaUVw/VB9smGMGX6I/AAAAAAAAFEI/3w7wnn1jCs0/s1600/IMG_20140922_065220_my_foot.jpg" height="320" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Not to worry, it's all patched up.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-BzhxRTbsYn8/VB9s9JnoqKI/AAAAAAAAFEs/LpZDEDeatZ8/s1600/IMG_20140922_065708_cleaning.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-BzhxRTbsYn8/VB9s9JnoqKI/AAAAAAAAFEs/LpZDEDeatZ8/s1600/IMG_20140922_065708_cleaning.jpg" height="320" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-3l8OXjHNWKA/VB9sn-buHXI/AAAAAAAAFEg/CkLuVJvk774/s1600/IMG_20140922_081546_patched_up.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-3l8OXjHNWKA/VB9sn-buHXI/AAAAAAAAFEg/CkLuVJvk774/s1600/IMG_20140922_081546_patched_up.jpg" height="240" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My portals got attacked. Looks like this won't be boring &lt;i&gt;too &lt;/i&gt;soon.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-2rBXleqSNyQ/VB9t8cQu9oI/AAAAAAAAFE0/WFKmdD-SIrY/s1600/Screenshot_2014-09-22-08-29-04.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-2rBXleqSNyQ/VB9t8cQu9oI/AAAAAAAAFE0/WFKmdD-SIrY/s1600/Screenshot_2014-09-22-08-29-04.png" height="320" width="180" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;That green one used to be mine.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-gTneX9hClZg/VB9sndkRpGI/AAAAAAAAFEc/JyG7KnkmV0I/s1600/IMG_20140922_075221_some_fucker_out_there.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-gTneX9hClZg/VB9sndkRpGI/AAAAAAAAFEc/JyG7KnkmV0I/s1600/IMG_20140922_075221_some_fucker_out_there.jpg" height="320" width="240" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Somewhere out there, some frog's fucking up my portals.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/FjWkhVAf6ns" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/2046767699414784530/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2014/09/ingress-day-2.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/2046767699414784530" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/2046767699414784530" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/FjWkhVAf6ns/ingress-day-2.html" title="Ingress Day 2" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EUbX0HkaUVw/VB9smGMGX6I/AAAAAAAAFEI/3w7wnn1jCs0/s72-c/IMG_20140922_065220_my_foot.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2014/09/ingress-day-2.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-6923418452751285783</id><published>2014-09-22T08:23:00.001+08:00</published><updated>2014-09-24T11:31:06.646+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ingress Game" /><title type="text">Ingress Day 1</title><content type="html">So I just found out I have hypertension. Part of it means I need to do cardio exercise.&lt;br /&gt;&lt;br /&gt;I thought, "Well, I could use one of those fitness tracking apps, or I could start playing that Ingress game I saw long ago."&lt;br /&gt;&lt;br /&gt;So I started playing Ingress.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-oI95A1LXLZo/VB9rKjF0LzI/AAAAAAAAFDk/HZlmVKSkZvM/s1600/Screenshot_2014-09-21-16-06-12.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-oI95A1LXLZo/VB9rKjF0LzI/AAAAAAAAFDk/HZlmVKSkZvM/s1600/Screenshot_2014-09-21-16-06-12.png" height="320" width="180" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Seems like some people nearby already started putting up some portals, but looks like they were abandoned. So I took them.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-cGRNFH5beSE/VB9rSwygpcI/AAAAAAAAFDs/GHRkhE7g9KQ/s1600/profile_20140921_164651_0.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-cGRNFH5beSE/VB9rSwygpcI/AAAAAAAAFDs/GHRkhE7g9KQ/s1600/profile_20140921_164651_0.png" height="320" width="187" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;I'm only starting out&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Looks like someone's been busy. Those aren't mine, obviously.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-iP0ri-Jw2vM/VB9rxN60jnI/AAAAAAAAFD8/VJva9ucL-Gc/s1600/Screenshot_2014-09-21-16-06-51.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-iP0ri-Jw2vM/VB9rxN60jnI/AAAAAAAAFD8/VJva9ucL-Gc/s1600/Screenshot_2014-09-21-16-06-51.png" height="320" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ZTT_Jr3m7lo/VB9ruNVeZ1I/AAAAAAAAFD0/0MQelJ3cICA/s1600/Screenshot_2014-09-22-07-50-49.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-ZTT_Jr3m7lo/VB9ruNVeZ1I/AAAAAAAAFD0/0MQelJ3cICA/s1600/Screenshot_2014-09-22-07-50-49.png" height="320" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/kj7v_84OHXk" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/6923418452751285783/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2014/09/ingress-day-1.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/6923418452751285783" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/6923418452751285783" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/kj7v_84OHXk/ingress-day-1.html" title="Ingress Day 1" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-oI95A1LXLZo/VB9rKjF0LzI/AAAAAAAAFDk/HZlmVKSkZvM/s72-c/Screenshot_2014-09-21-16-06-12.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2014/09/ingress-day-1.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-576128965506534708</id><published>2014-05-15T02:32:00.003+08:00</published><updated>2014-05-16T15:03:30.770+08:00</updated><title type="text">Productivity tools for those with problematic Internet connection</title><content type="html">&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-pCXaWS_QD9U/U3OZv57ppVI/AAAAAAAAEPU/rDwQLD8wzsA/s1600/internet-phil_.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-pCXaWS_QD9U/U3OZv57ppVI/AAAAAAAAEPU/rDwQLD8wzsA/s1600/internet-phil_.jpg" height="320" width="188" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;3.6 Mbps here is the average for premium subscriptions that the well-off can afford.&lt;br /&gt;Please take note that that is the theoretical maximum.&lt;br /&gt;There is pretty much nil in the way of guaranteed minimum speeds.&lt;br /&gt;We have 2 Mbps in the office. I have 0.46 Mbps in my house.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Where I live, I can't rely on the Internet connection speed to be reliable in my everyday work.&lt;br /&gt;&lt;br /&gt;So here's some tools I compiled to help mitigate or workaround these issues. I err more on the free programs, and ones that work in Windows and Android. I provide links to alternative software for each.&lt;br /&gt;&lt;br /&gt;Hopefully, you'll have use for them as much as I do.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="https://evernote.com/"&gt;Evernote&lt;/a&gt;&lt;/h2&gt;A note taking program that can also save web page snippets.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hjFCmSgUf3w/U3OhCwGkcDI/AAAAAAAAEPk/I9n9sb4VOpY/s1600/Evernote12323_.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-hjFCmSgUf3w/U3OhCwGkcDI/AAAAAAAAEPk/I9n9sb4VOpY/s1600/Evernote12323_.png" height="416" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Pros:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Can work offline, will sync to cloud when Internet connection is available&lt;/li&gt;&lt;li&gt;Has a mobile app version&lt;/li&gt;&lt;li&gt;Allows sharing to other people, with settings for permissions&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Cons:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;The Evernote window can hang occasionally as it does whatever housekeeping it does to its data.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Caveats:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Bandwidth usage limit capped at 60 MB per month for free users (understandable; not really a problem, but you should be aware of it)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More than a simple note-taking program, Evernote can also save web pages. This is important as it gives me offline access to those web pages, instead of simply bookmarking them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So why not just save the .html page on your hard drive? Evernote allows you to organize your notes/web page snippets neatly: you can organize them into "notebooks", search the text, add tags, see the original URL of the web page you saved, and most of all, they get synced in the cloud. If you get the mobile app for Evernote, all your notes also show up in your mobile device.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Found a gamedev article that you feel you're gonna need for reference later on? Clip it on Evernote. Had a sudden stroke of good ideas while on the go? Type it down on your smartphone with the Evernote app. It'll sync to your PC later on, and you can flesh out the idea more on your keyboard.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;Catch&lt;/b&gt;: The free version allows you a limited amount of stuff to sync: 60 MB worth of data, but it resets every month.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So if you find yourself saving pages with humongous images, you're better off simply saving them the usual way. Evernote is primarily for notes anyway.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://alternativeto.net/software/evernote/"&gt;Alternatives to Evernote&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://lifehacker.com/lifehacker-faceoff-onenote-vs-evernote-1550697885"&gt;Lifehacker Faceoff: OneNote vs. Evernote&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="http://www.trello.com/"&gt;Trello&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;To-do list creator that's perfect for Kanban style,&amp;nbsp;but also works well otherwise.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://kanbanblog.com/explained/"&gt;What is Kanban?&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.everydaykanban.com/what-is-kanban/"&gt;Another "What is Kanban?"&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-TjZBeD-xz44/U3OjWKzV23I/AAAAAAAAEPs/gVVIIDqOKJ8/s1600/Trello+on+airplane+mode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-TjZBeD-xz44/U3OjWKzV23I/AAAAAAAAEPs/gVVIIDqOKJ8/s1600/Trello+on+airplane+mode.png" height="358" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pros:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Syncs to cloud, has mobile app versions&lt;/li&gt;&lt;li&gt;Allows sharing to-do lists/boards to other people, with settings for permissions&lt;/li&gt;&lt;li&gt;Intuitive controls,&amp;nbsp;&lt;/li&gt;&lt;li&gt;Can have plugins. &lt;a href="https://www.burndownfortrello.com/"&gt;Burndown For Trello&lt;/a&gt;&amp;nbsp;and &lt;a href="http://scrumfortrello.com/"&gt;Scrum for Trello&lt;/a&gt; in particular is interesting.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Cons:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;For desktop, it's accessed only via your web browser; doesn't have offline access. If you went to the Trello website while having Internet connection, it will still continue to work when you lose connection. But it can't start if you do not have any Internet connection in the first place.&lt;/li&gt;&lt;li&gt;As of yet, only the mobile app version has offline access&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;I don't personally use a strict Scrum style. For that, you can try &lt;a href="http://www.pivotaltracker.com/"&gt;Pivotal Tracker&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;Running the mobile version of Trello on your desktop PC&lt;/h3&gt;While you can't have offline access to Trello on your PC, the mobile version can. And it's possible to run an Android virtual machine on your PC, then run the mobile version of Trello on top of that.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-R99Z8YCD15U/U3Ojvq1IYwI/AAAAAAAAEP0/h7r6ypA6KFU/s1600/Trello+on+Bluestacks.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-R99Z8YCD15U/U3Ojvq1IYwI/AAAAAAAAEP0/h7r6ypA6KFU/s1600/Trello+on+Bluestacks.png" height="374" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For an Android virtual machine that's easy to install, there's &lt;a href="http://www.bluestacks.com/"&gt;Bluestacks&lt;/a&gt;. But you need to pay a subscription to use it. If you don't want to pay, you'll be required to install some sponsored apps/games to continue using it (not a problem, really).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For something that's totally free and open-source, there's &lt;a href="http://www.genymotion.com/"&gt;Genymotion&lt;/a&gt;. I haven't tried that yet however.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some noteworthy alternatives to Trello:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h4&gt;&lt;a href="http://dmitryivanov.net/personal-kanban-app/"&gt;Personal Kanban&lt;/a&gt;&lt;/h4&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-8nh_2W6aQjY/U3RVnKK1WnI/AAAAAAAAERU/iMO06mS18hY/s1600/Portable+Kanban_.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-8nh_2W6aQjY/U3RVnKK1WnI/AAAAAAAAERU/iMO06mS18hY/s1600/Portable+Kanban_.png" height="320" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Written in .NET. Can work offline.&lt;/li&gt;&lt;li&gt;If you set up your own &lt;a href="http://redis.io/"&gt;redis&lt;/a&gt; database server somewhere, Personal Kanban can sync to it.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;h4&gt;&lt;a href="http://greggigon.github.io/my-personal-kanban/"&gt;My Personal Kanban&lt;/a&gt;&lt;/h4&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Low3Y12InsY/U3RYB_szOnI/AAAAAAAAERc/ae6lXJrs6iE/s1600/MyPersonalKanban.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-Low3Y12InsY/U3RYB_szOnI/AAAAAAAAERc/ae6lXJrs6iE/s1600/MyPersonalKanban.png" height="316" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Single .html page, written in HTML/Javascript. Can work offline.&lt;/li&gt;&lt;li&gt;Can sync to Google cloud storage.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://alternativeto.net/software/trello/"&gt;Other alternatives to Trello&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="http://tiddlywiki.com/"&gt;TiddlyWiki&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;Your own wiki site, all in one html page.&lt;br /&gt;&lt;br /&gt;There's a &lt;a href="http://tiddlywiki.com/"&gt;beta version 5&lt;/a&gt;, which is an overhaul of TiddlyWiki, and there's the &lt;a href="http://classic.tiddlywiki.com/"&gt;classic version&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Pb_gKDB7cDo/U3OqVbzl2cI/AAAAAAAAEQA/gMsXd4ydhNs/s1600/2014-05-15+01_37_19-Victis+Wiki_.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-Pb_gKDB7cDo/U3OqVbzl2cI/AAAAAAAAEQA/gMsXd4ydhNs/s1600/2014-05-15+01_37_19-Victis+Wiki_.png" height="640" width="620" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pros:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Works offline. Upload the .html page on the web, and it also works online.&lt;/li&gt;&lt;li&gt;If you need it to sync, just put the file in your Dropbox, Google Drive, or whichever cloud storage service you prefer.&lt;/li&gt;&lt;li&gt;The new version 5 (currently in beta) can also be deployed as a Node.js application&lt;/li&gt;&lt;li&gt;Numerous plugins, but take care as some of the ones found online only work in old versions.&lt;/li&gt;&lt;li&gt;Themable skin&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;Cons:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Easy, one-click saving of changes to your TiddlyWiki is problematic, as web browsers don't normally allow this (due to security considerations). &lt;a href="http://classic.tiddlywiki.com/#TiddlyFox"&gt;Firefox has a plugin&lt;/a&gt; to bypass this restriction specifically for Tiddlywiki files. Alternatively, you can just save the .html page the usual way and overwrite the old file.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;Caveats:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Has no official mobile version, but there is a 3rd party program: a web browser specifically designed to work properly with TiddlyWiki files: &lt;a href="https://play.google.com/store/apps/details?id=de.mgsimon.android.andtidwiki"&gt;AndTidWiki&lt;/a&gt;&amp;nbsp;(Put your TiddlyWiki in your Dropbox, get the Dropbox app for your phone, and use AndTidWiki to edit it. You now have a wiki that syncs to and from mobile!) Here are &lt;a href="http://classic.tiddlywiki.com/#MobileDevices"&gt;other mobile apps&lt;/a&gt; for using TiddlyWikis.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Being a wiki, TiddlyWiki has some uses that overlap with Evernote.&lt;br /&gt;&lt;br /&gt;But for me, I use my TiddlyWiki as a knowledge-base; an encyclopedia for my game's lore.&lt;br /&gt;&lt;br /&gt;Evernote on the other hand, is for hoarding tutorials, references, and jotting down ideas quickly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://alternativeto.net/software/tiddlywiki/"&gt;Alternatives to TiddlyWiki&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="https://docs.google.com/"&gt;Google Docs&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;Create documents, spreadsheets, presentations, etc. on the cloud.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-cbuSiOZe27M/U3O1RSPSw3I/AAAAAAAAERE/qW8TkR1hnyo/s1600/googledocs3d10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-cbuSiOZe27M/U3O1RSPSw3I/AAAAAAAAERE/qW8TkR1hnyo/s1600/googledocs3d10.png" height="356" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pros:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Syncs to cloud, has mobile app versions&lt;/li&gt;&lt;li&gt;Can work offline and will simply sync when Internet connection is available&lt;/li&gt;&lt;li&gt;Allows sharing documents to other people, with settings for permissions&lt;/li&gt;&lt;li&gt;Allows real-time collaborative editing on documents&lt;/li&gt;&lt;li&gt;Have plugins that allow it to create more types of documents, including a kanban board, plain text files, guitar tablatures, etc.&lt;/li&gt;&lt;li&gt;Can import OpenOffice documents&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Caveats:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Works best in Google Chrome&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;a href="http://alternativeto.net/software/google-docs/"&gt;Alternatives to Google Docs&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="http://lanmsngr.sourceforge.net/"&gt;LAN Messenger&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;Offline instant messenger (LAN only) and file transfer tool.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-TJXcNJE8-Zo/U3Ot6NXWrqI/AAAAAAAAEQM/OYCelVQ-Ah4/s1600/LANMsgr.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-TJXcNJE8-Zo/U3Ot6NXWrqI/AAAAAAAAEQM/OYCelVQ-Ah4/s1600/LANMsgr.png" height="404" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is pretty self-explanatory. It's like Skype/Yahoo Messenger/etc., but you don't need to connect to a server on the Internet. However, you need to be connected to a LAN of course.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyone else in the LAN running the same program can see you, and you can send messages, set up chat rooms, and transfer files to each other.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's best for communication between (trusted) members of a team.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;LAN Messenger works on Windows, Mac, and Linux, so it's an easy way to transfer files, if your people use different operating systems.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It also has a &lt;a href="http://portableapps.com/apps/internet/lan-messenger-portable"&gt;portable version&lt;/a&gt;, which means it can be installed in your thumb drive.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://alternativeto.net/software/lan-messenger-2-/"&gt;Alternatives to LAN Messenger&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="http://freefilesync.sourceforge.net/"&gt;FreeFileSync&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;Backup/Sync tool. It makes sure two sets of folders have the same files/subfolders inside.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Tx4kOQmrUdY/U3O0bHt23hI/AAAAAAAAEQ8/XfNkFA3mGvk/s1600/FreeFileSync_.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-Tx4kOQmrUdY/U3O0bHt23hI/AAAAAAAAEQ8/XfNkFA3mGvk/s1600/FreeFileSync_.png" height="231" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Using USB thumb drives and external drives is common for us, so a tool that figures out stuff for us like "which of these again is the up-to-date version that I should copy??" is nice.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have a bunch of concept art reference images for my projects and I like to do backups of them to my external drive. However, I do shuffle them around across many folders over time as the project matures. Having to make sure the folders in my external drive match up with how it is in my laptop by myself is a hassle, so I let a file sync program do this for me.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can have it ensure the files/subfolders in the destination folder exactly match up the files/subfolders in the source folder, or you can let it work on a per-file basis to resolve situations.&lt;br /&gt;&lt;br /&gt;The program basically tells you "they're the same filename, but the contents are different. which one of these do you want to keep?" and you have the option how to resolve it:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Keep both and just have the other file be renamed.&lt;/li&gt;&lt;li&gt;Make the program stop and ask you to inspect both, letting you choose which you want to keep.&lt;/li&gt;&lt;li&gt;Simply always keep the one that had a later "date modified", and discard the old one.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://alternativeto.net/software/freefilesync/"&gt;Alternatives to FreeFileSync&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="http://www.floriangilles.com/software/netspeedmonitor/"&gt;NetSpeedMonitor&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;Bandwidth monitoring tool.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hJsdQaXS5vU/U3RZvFITBmI/AAAAAAAAERk/UzmmORvflI4/s1600/NetSpeedMonitor_.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-hJsdQaXS5vU/U3RZvFITBmI/AAAAAAAAERk/UzmmORvflI4/s1600/NetSpeedMonitor_.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;How much is your PC downloading right now anyway? With a bandwidth monitor tool, it's easy to see if your Internet connection is going through that temperamental phase again.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are a lot of programs that can do this, but what I prefer is something that I can see even if I have a maximized window, unobtrusive, and doesn't take much space. NetSpeedMonitor does the job well. It adds a bandwidth reading right beside your system tray.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://alternativeto.net/software/netspeedmonitor/"&gt;Alternatives to NetSpeedMonitor&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="https://netbalancer.com/"&gt;NetBalancer&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;Bandwidth balancer.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-t4DNqaq7fUU/U3Owmu0AjJI/AAAAAAAAEQk/m3alu5zp6rk/s1600/netbalancer_main.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-t4DNqaq7fUU/U3Owmu0AjJI/AAAAAAAAEQk/m3alu5zp6rk/s1600/netbalancer_main.png" height="442" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Taking this a step further: have you ever noticed your download speed spikes up when you browse the web? I found this usually infuriates other people in the office playing an online game or watching a streaming video.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What if you could limit your web browser to download at a set 10 kb/s? Even if it doesn't have that feature? With a bandwidth balancer you can. Any program transferring data to the Internet can be throttled.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;NetBalancer is the one I've tried, and it works ok. The free version allows you to throttle only up to 3 programs at a time (you can switch which 3 programs are throttled at any time), and that's usually enough for a single person throttling his own PC. (NetBalancer has a version that can throttle for your whole network.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The best would probably be a sophisticated software that's installed on your router (the device that connects all your PCs together, and likely also your connection to the Internet). ISP's here give you some pretty bare-bones routers that aren't of much flexibility that allows that. So a user-driven program can work pretty well in this situation.&lt;br /&gt;&lt;br /&gt;Even without using it as a bandwidth balancer, NetBalancer is useful to check which of your programs is hogging the download bandwidth.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Catch&lt;/b&gt;: I've had a side-effect that my laptop's CPU usage was always about 25% even when I wasn't doing anything. It made browsing my files slow and whatnot. Seems like it was connected to the &lt;a href="https://www.google.com/search?q=wmi+provider+host+hogging+cpu"&gt;WMI Provider Host hogging the CPU&lt;/a&gt; problem. I'm not sure if it's related (it's also likely that it's not) but when I uninstalled NetBalancer plus tweaked a bunch of settings in my Windows, the problem went away. I use Windows 8.0 by the way, and it's also possible the issue was fixed in Windows 8.1.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://alternativeto.net/software/netbalancer/"&gt;Alternatives to NetBalancer&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Text-only mode for your browser&lt;/h2&gt;&lt;h4&gt;&lt;a href="https://chrome.google.com/webstore/detail/adelhekhakakocomdfejiipdnaadiiib"&gt;Text Mode&lt;/a&gt; for Google Chrome&lt;/h4&gt;&lt;h4&gt;&lt;a href="http://www.opera.com/"&gt;Opera&lt;/a&gt; web browser (has this feature built-in via &lt;a href="http://www.opera.com/docs/usercss/#user-mode"&gt;user mode&lt;/a&gt;)&lt;/h4&gt;&lt;h4&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.spacenext.textonly"&gt;Text Only&lt;/a&gt;, &lt;a href="https://play.google.com/store/apps/details?id=com.weejim.app.lynx"&gt;Lynx Web Browser&lt;/a&gt;, and &lt;a href="https://play.google.com/store/apps/details?id=com.opera.mini.android"&gt;Opera Mini&lt;/a&gt; for Android&lt;/h4&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-xm8BFJR6Yd4/U3OzjFN9wJI/AAAAAAAAEQw/Xar5NKZ8aBw/s1600/2014-05-15+02_17_40-IGDA+Manila_.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-xm8BFJR6Yd4/U3OzjFN9wJI/AAAAAAAAEQw/Xar5NKZ8aBw/s1600/2014-05-15+02_17_40-IGDA+Manila_.png" height="262" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Maybe you need to check some documentation online, maybe an interesting gamedev article came up in your Twitter feed. At that point, you're only going to care about seeing the text first. With a flaky Internet connection, it'll take longer if the images are going to be downloaded too. If there's diagrams you need to see, it can be nice to easily load them on your demand with a simple click.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I use Google Chrome and there's quite a lot of these plugins around. The one that worked ok was Text Mode, but it's a toggle that will block/unblock image downloading for all tabs in all your web browser windows. A per-tab setting at the least would have been useful.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="http://www.squid-cache.org/"&gt;Squid&lt;/a&gt; proxy server&lt;/h2&gt;&lt;div&gt;If you're in a small office where people end up downloading the same thing over and over across different machines, you'll find yourselves eating up download bandwidth really quick.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Hey Tim, check out this youtube vid...". who then passes it to Sally "cool, check this out", who then streams it from her laptop... and pretty soon you'd have hit your "unlimited" data cap.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A proxy server is meant to get rid of those redundant downloads.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How this works is, instead of all the PCs in the office directly downloading stuff, they now only request it from another PC, designated as the "proxy server".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The proxy server downloads whatever's requested, and saves them in the hard drive. The next time someone asks for the same thing (a video, a web page, etc.), it's not going to bother downloading it again, it will just send the already saved file to your PC.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the case of user-sensitive data like when you access your private Facebook stuff, it's not going to cache that because it doesn't make sense to do so.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;Catch&lt;/b&gt;: It requires you to have an additional PC running as the proxy server (likely turned on 24/7, or as long as there are people in the office).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've had success with &lt;a href="http://www.squid-cache.org/"&gt;Squid&lt;/a&gt;, and it's perhaps best to run it on Linux in text-mode, to save on your electricity bill. An old Pentium computer can probably suffice for this in a small office set up. Being Linux, that's gonna require someone who knows their way around it to get it working properly. If you don't have that luxury, there's also a Windows version for Squid.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Squid is free and open-source, however, it requires some extra configuration to get it to work properly with caching Youtube videos or any streaming video.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://alternativeto.net/software/squid/"&gt;Alternatives to Squid&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Peer-to-peer file sharing over the Internet&lt;/h2&gt;&lt;h4&gt;&lt;a href="https://infinit.io/"&gt;infinit&lt;/a&gt;&lt;/h4&gt;&lt;h4&gt;&lt;a href="http://www.bittorrent.com/sync"&gt;BitTorrent Sync&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;div&gt;Sync your files across many PCs or mobile devices just like the way you torrent.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Catch&lt;/b&gt;: This is relatively new. Even with those assurances of being secure, I would err on the side of paranoia and expect some security vulnerabilities eventually.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'd use this only for large files that I'm willing to share to the public anyway, like demo builds of my game.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;hr /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's all. I'll add more when I think of something worth mentioning.&lt;br /&gt;&lt;br /&gt;Feel free to suggest other apps and tools in the comments section.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/H43HZmX9egY" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/576128965506534708/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2014/05/office-productivity-tools-for-those.html#comment-form" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/576128965506534708" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/576128965506534708" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/H43HZmX9egY/office-productivity-tools-for-those.html" title="Productivity tools for those with problematic Internet connection" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-pCXaWS_QD9U/U3OZv57ppVI/AAAAAAAAEPU/rDwQLD8wzsA/s72-c/internet-phil_.jpg" height="72" width="72" /><thr:total>8</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2014/05/office-productivity-tools-for-those.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-987294198512237698</id><published>2013-11-06T04:05:00.001+08:00</published><updated>2014-09-24T11:31:30.662+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Graywalkers" /><title type="text">Our Design To Prevent Savescumming in Graywalkers</title><content type="html">Game development is chiefly exploratory in the initial phase of development, and this is mostly where we come up with ideas to overcome certain problems.&lt;br /&gt;&lt;br /&gt;Here's a look at one design proposal I have for our ongoing project, &lt;a href="http://graywalkers.com/" target="_blank"&gt;Graywalkers: Purgatory&lt;/a&gt;, as an answer to the savescumming issue found in games. Graywalkers is part squad-based tactics game, and part grand strategy-esque game.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-large;"&gt;&lt;b&gt;Design Proposal For Preventing Savescumming: Hostage Situations&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Savescumming is a metagame technique that players do to turn otherwise unfavorable situations into their favor if the outcome is determined by random chance (i.e. dice rolls). By saving right before such "dice rolls" happen, they can keep on reloading until they get their desired roll results.&lt;br /&gt;&lt;br /&gt;Savescumming is a thorny issue. You can stiffle the player's power to save, by say, having save checkpoints instead. But this turns into an inconvenience. What if the player suddenly needs to take a long break? You could implement a "Save &amp;amp; Exit". It won't deter the stubborn savescummers though. But what else can you do?&lt;br /&gt;&lt;br /&gt;If the game is built well and the player is savescumming they're way through it, I think it's an indication that they are focusing too much on one solution to their problem when there are really several ways to deal with it.&lt;br /&gt;&lt;br /&gt;And the problem I think, is how to let the player learn better solutions without the jarring experience of a Game Over screen.&lt;br /&gt;&lt;br /&gt;What I'm going to propose is only one way to go about this. Certainly, better tutorials, perhaps an in-game advisor, can also help.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Dark Souls&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Dark Souls is brilliant in this. Savescumming is discouraged by having a "Save and Exit" instead of just a save. It of course does not completely remove savescumming, but it makes it inconvenient for players to do so (i.e. have to close and restart the game all over again just to reload).&lt;br /&gt;&lt;br /&gt;Also this means each character has only one save slot.&lt;br /&gt;&lt;br /&gt;But the major thing that helps prevent savescumming is the fact that &lt;b&gt;the game gives you a chance to correct your fatal mistakes&lt;/b&gt;:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;When you die, your corpse (or rather, your soul) is dropped at your point of death.&lt;/li&gt;&lt;li&gt;All your unspent EXP points (and money) are left in that corpse.&lt;/li&gt;&lt;li&gt;You need to get back to that corpse to get back all those EXP (and money).&lt;/li&gt;&lt;li&gt;If you die while attempting to get back to your corpse, then those EXP (and money) are gone forever. Instead, your corpse (i.e. soul) is now in that more recent place you died. The EXP points (&amp;amp; money) you gained while trying to get to your old corpse is now the ones left in that new corpse.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div&gt;In this way, &lt;b&gt;the player is given a second chance when he dies&lt;/b&gt;. If he screws up a second time, well, he has only himself to blame.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It also jives with the narrative: in this game, you are an undead soul who keeps coming back.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Whenever this happens to me, I always refer to it as "my EXP points are &lt;i&gt;held hostage&lt;/i&gt;", and that "I need to &lt;i&gt;rescue them&lt;/i&gt;".&lt;br /&gt;&lt;br /&gt;The idea of not giving an immediate Game Over screen on death has also been done before in other games.&lt;br /&gt;&lt;br /&gt;In the FPS, &lt;i&gt;Prey&lt;/i&gt;, when the player dies he is put in a mini-game where he is in some sort of spirit world, needing to shoot at corporeal monsters to collect enough health back to magically revive himself.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;World of Warcraft&lt;/i&gt; has something similar, but their idea is more relaxed; there's always the easy way out of death where you don't lose anything, other than the time to get to your corpse.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Applying this idea to Graywalkers&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;So with that about hostages, I have an idea for Graywalkers about hostage situations on your own characters.&lt;br /&gt;&lt;br /&gt;Short explanation for those unfamiliar with the game: Graywalkers is a post-apoc strategy RPG. But as far as the combat part is concerned, it's turn-based tactics, similar to XCOM, Final Fantasy Tactics, Jagged Alliance, or the old Fallout games. The player can send out multiple squads into the real-time world map.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll explain by example:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;You encounter some bandits.&lt;/li&gt;&lt;li&gt;You fight but your squad dies or you chose to surrender with the remaining party members unharmed (or rather, not harmed further).&lt;/li&gt;&lt;li&gt;It's not game over yet. You are brought back to the world map and a dialogue opens.&lt;/li&gt;&lt;li&gt;The bandits open a negotiation:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;"Hoo whee! You there boys? We got your blokes strapped up here. And hey now look, we're all seeveelized folks, so if you give us 100 pieces of canned goods we'll give them back to you the same way we found 'em. But uhh... better hurry up. 2 of them don't look like they got much time left."&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;/ol&gt;&lt;li&gt;This is essentially a &lt;b&gt;hostage situation&lt;/b&gt;. In fact, this is a new quest entry for you.&lt;/li&gt;&lt;li&gt;Of note here is that they mentioned what they want (100 pieces of canned goods), and that 2 of the hostages are in critical condition. The rest of the hostages may be unconscious, or weak. They are all tied up or trapped in a prison of some sort.&lt;/li&gt;&lt;li&gt;If you have some of their people held as prisoners of war, they may ask for those as payment instead (i.e. prisoner exchange).&lt;/li&gt;&lt;li&gt;This negotiation can be in conventional means (a diplomat representing them is sent to your nearest remaining squad), or via a video phone if they are hi-tech.&lt;/li&gt;&lt;li&gt;You can still choose to haggle what item/s to give them (and how many) in exchange for your fallen units. I.e. &lt;i&gt;"How about 3 first-aid kits instead?"&lt;/i&gt;&lt;/li&gt;&lt;li&gt;If you choose to refuse or accept the deal, or ask for more time, that's not the end of it.&lt;/li&gt;&lt;li&gt;If you accepted, they will give you a location to go to, and you still need to send a new squad there to give the goods (assuming you're not lying) and get your people.&lt;/li&gt;&lt;li&gt;If you refuse or openly say you can't give what they want, you can still get them by force, but they won't give a location. You can start your search from the last place of battle.&lt;/li&gt;&lt;li&gt;But you have to hurry because they don't have unlimited patience, and the 2 of your characters in critical condition can die if you don't act soon enough.&lt;/li&gt;&lt;li&gt;If your bandits are actually from a well-to-do faction (or serving under them), the negotiations may be allowed to take longer, and the hostages will be given minimal food and medical support.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;During The Hostage Pickup&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Once your rescuers are on the location, several things can happen. This can be in any order or in any combination that makes sense:&lt;br /&gt;&lt;br /&gt;Take note that this table is relevant for hostage-takers of any sort, not just regular bandits.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;table border="1" cellpadding="2" cellspacing="0" style="orphans: 2; text-align: -webkit-auto; widows: 2; width: 100%px;"&gt; &lt;tbody&gt;&lt;tr&gt;   &lt;td style="background-color: black; color: white; font-size: 16px;"&gt;&lt;b&gt;Your Rescuing Squad&lt;/b&gt;&lt;/td&gt;   &lt;td style="background-color: black; color: white; font-size: 16px;"&gt;&lt;b&gt;Hostage Takers&lt;/b&gt;&lt;/td&gt;   &lt;td style="background-color: black; color: white; font-size: 16px;"&gt;&lt;b&gt;Hostages&lt;/b&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td valign="top"&gt;Can be truthful to the deal and do as promised.&lt;br /&gt;&lt;br /&gt;Take note that you need to make sure that your rescuing squad brings along the required items for trade.&lt;br /&gt;&lt;br /&gt;For factions that you want to get on their good side, this is a good option.&lt;/td&gt;   &lt;td valign="top"&gt;May be truthful to their deal and do as promised.&lt;/td&gt;   &lt;td colspan="1" rowspan="5" valign="top"&gt;Can try to break free on their own (you, as the player, are still controlling these hostage characters). You can only control hostages that are not&amp;nbsp;unconscious.&lt;br /&gt;&lt;br /&gt;They won't have any items on them. In combat, they can hand-to-hand and magic only, in addition to any non-combat skill checks they can perform that don't require equipment (e.g. bashing cages open perhaps).&lt;br /&gt;&lt;br /&gt;You can make them escape&amp;nbsp;quietly, or use them to kill the hostage-takers also. Of course, they can loot any subdued enemies for temporary weapons and armor.&lt;br /&gt;&lt;br /&gt;In fact, you may deal with the situation like this and not really have any rescuing squad at all (either lie that you agree with the hostage exchange or refuse their deal).&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td valign="top"&gt;Can renegotiate the price at the last moment.&lt;/td&gt;   &lt;td valign="top"&gt;May up their price at the last moment just to spite you or for whatever reason.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td valign="top"&gt;Can use intimidation to make the hostage-takers flee.&lt;br /&gt;&lt;br /&gt;It can fail though, and the hostage-takers can get so scared they simply kill the hostages at gunpoint.&lt;/td&gt;   &lt;td valign="top"&gt;May actually just ambush your rescuers. They could openly kill the hostages in front of you to spite you.&lt;br /&gt;&lt;br /&gt;It could also be that they are lying and the hostages are not there in the first place (e.g. there is an enclosed cage but it is empty).&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td valign="top"&gt;Can have a secondary team infiltrate and rescue the hostages in secret while your other team is buying time by talking with the hostage takers face-to-face.&lt;br /&gt;&lt;br /&gt;It can fail catastrophically though, if your secondary team is killed, overwhelmed, or captured.&lt;/td&gt;   &lt;td valign="top"&gt;Can fool you by giving you hostages that are not really your characters. Of course for this to work, the hostage-takers will put sacks over the heads of the "hostages".&lt;br /&gt;&lt;br /&gt;Could also be something similar to the "hostage exchange" that Mel Gibson pulled off in &lt;em&gt;The Patriot&lt;/em&gt;.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td valign="top"&gt;Can lie and just open fire on the hostage takers by surprise in the middle of talks.&lt;br /&gt;&lt;br /&gt;Take note that you can make it seem like only 1 or 2 people are the rescuers, while the rest of your squad are waiting in ambush.&lt;br /&gt;&lt;br /&gt;You may even find it that the hostage-takers have ambushers of their own, and your ambushers can subdue them quietly.&lt;/td&gt;   &lt;td valign="top"&gt;Can fool you by having only&amp;nbsp;&lt;b&gt;one&lt;/b&gt;&amp;nbsp;out of the many hostages be present on the site. Their new demand will be that release of the other hostages require additional payments and will be picked up from other places.&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Take note that this situation can be further complicated by having the hostage-takers specify the middle of a populated town as the place for the exchange to take place. So you have to worry about non-combatants in your line of fire and collateral damage.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Battle Plan&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If the deal is off and you are engaged in battle with the hostage-takers, there are several things you can do:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Kill/subdue all the hostage-takers. The simplest and straightforward. An offensive plan.&lt;/li&gt;&lt;li&gt;Carry the hostages away and flee the scene without killing all the hostage-takers. A defensive plan.&lt;/li&gt;&lt;li&gt;Attempt to break free the hostages to either evacuate them or let them help in battle. You can attempt to resuscitate (conventional means) or revive (magical means) any of your hostaged comrades on the spot if you wish. The reason is so that they can help in battle, if things are looking desperate. They won't have any items on them (i.e. in combat, they can hand-to-hand and magic only, in addition to any skill checks they can perform that don't require equipment).&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Breaking Free&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For hostages to break free, it will be skill checks. What type of skill check depends on the way the hostages are trapped.&lt;br /&gt;&lt;br /&gt;Examples:&lt;br /&gt;&lt;br /&gt;If they are in a cage, your hostaged characters can try lockpicking (lockpicking skill), or those strong enough can simply break it open (strength).&lt;br /&gt;&lt;br /&gt;If tied up, they can try to wriggle free (agility), or simply break the rope bindings (strength).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;On-purpose&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can, in fact, let all this happen on-purpose to let your hostaged characters infiltrate the enemy's base (assuming hostages are brought there, perhaps a prison of some sort). Why you want to do is that is up to you. Perhaps you need to collect information on how well defended the enemy's base is from the inside, or you need to recruit a prisoner in your team and the only way is to get into the prison, etc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;In Closing&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The whole point here is not to punish the player for savescumming, but to encourage him not to in the first place.&lt;br /&gt;&lt;br /&gt;We give the player a chance to correct his mistakes naturally within the game in ways that fit the narrative, and in fact, opens up the game to more opportunities for the player.&lt;br /&gt;&lt;br /&gt;This is really not about completely removing the player's ability to savescum, but give him less reasons to do so.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Graywalkers: Purgatory is the PC game we are working on at the moment. You can check out our Steam Greenlight page &lt;a href="http://steamcommunity.com/sharedfiles/filedetails/?id=191653077"&gt;here&lt;/a&gt;, and our currently ongoing Kickstarter &lt;a href="http://kck.st/1eJmrQs"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/wCoF7Q_fm2s" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/987294198512237698/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2013/11/our-design-to-prevent-savescumming-in.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/987294198512237698" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/987294198512237698" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/wCoF7Q_fm2s/our-design-to-prevent-savescumming-in.html" title="Our Design To Prevent Savescumming in Graywalkers" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2013/11/our-design-to-prevent-savescumming-in.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-3851938325142464904</id><published>2013-11-06T02:36:00.002+08:00</published><updated>2014-09-24T11:31:30.659+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Graywalkers" /><title type="text">Graywalkers Purgatory Kickstarter!</title><content type="html">Wouldn't do well to forget about posting our Kickstarter on my own personal blog. This site is like a diary of events of my job stuff too.&lt;br /&gt;&lt;br /&gt;Well, so here it is.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;Graywalkers: Purgatory&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;A post-apocalyptic strategy RPG in a dynamic world&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Kickstarter Page:&amp;nbsp;&lt;a href="http://kck.st/1eJmrQs"&gt;http://kck.st/1eJmrQs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And let me practice my sales pitch here:&lt;br /&gt;&lt;br /&gt;The game plays similar to &lt;i&gt;Fallout &lt;/i&gt;and &lt;i&gt;Jagged Alliance&lt;/i&gt;, where you control squads of mercenaries travelling the world map in real time.&lt;br /&gt;&lt;br /&gt;When a squad visits a town or any location, the view moves to a more close up view (i.e. like in the screenshot below), where you can move individual party members of that squad, interact with NPCs, or engage in turn-based combat.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-rCwYVqPz-yM/UnlA01JD1-I/AAAAAAAAED8/FTmzFQ-OLLI/s1600/ScreenShot387+%25281%25293.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="332" src="http://3.bp.blogspot.com/-rCwYVqPz-yM/UnlA01JD1-I/AAAAAAAAED8/FTmzFQ-OLLI/s640/ScreenShot387+%25281%25293.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;Features&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-n-7_aVt7dJE/UnlA_UZtjAI/AAAAAAAAEEU/CzV0www-zeM/s1600/orcus.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-n-7_aVt7dJE/UnlA_UZtjAI/AAAAAAAAEEU/CzV0www-zeM/s200/orcus.jpg" width="146" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Tactical Turn-Based Combat&lt;/span&gt;&lt;/b&gt;&amp;nbsp;Fights are a classic "I go, then you go" type of turn-based, set in a square grid. We use an Action Point system similar to the old Fallout and X-COM games.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Christian-heavy, supernatural setting mixed with post-apocalypse&lt;/span&gt;&lt;/b&gt;&amp;nbsp;Instead of dwarves and elves, this game has demons, angels, vampires, werewolves, and faeries (apart from humans of course). Ancient magic and human technology play a heavy role in the lore.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-SBwv6TJq7Lw/UnlA_OUiYwI/AAAAAAAAEEQ/Fw4mWFOrbag/s1600/seraphim.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-SBwv6TJq7Lw/UnlA_OUiYwI/AAAAAAAAEEQ/Fw4mWFOrbag/s200/seraphim.jpg" width="151" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-I298Dsf8xb8/UnlBEOgNY-I/AAAAAAAAEEc/rh6KJKw_PwA/s1600/tainwing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-I298Dsf8xb8/UnlBEOgNY-I/AAAAAAAAEEc/rh6KJKw_PwA/s200/tainwing.jpg" width="133" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-EIgupktHMfo/UnlBGSRseHI/AAAAAAAAEEk/Z1VmuLATjas/s1600/characters2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-EIgupktHMfo/UnlBGSRseHI/AAAAAAAAEEk/Z1VmuLATjas/s400/characters2.jpg" width="81" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Dynamic World&lt;/span&gt;&lt;/b&gt;&amp;nbsp;When moving your mercenary bands in the real-time world map, think of it as there being &lt;b&gt;an automated grand strategy game happening around you&lt;/b&gt;. NPCs move around, fulfilling their roles in the economics/politics simulation of the world.&lt;br /&gt;&lt;br /&gt;Cities found in the map require constant food and resources or they will die off, and you can use that to your advantage the next time you invade an enemy city.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Factions&lt;/b&gt;&amp;nbsp;&lt;/span&gt;The world has factions that war with each other, and it's up to you who to ally with. Do you side with the disreputable crime lords of &lt;i&gt;Lost Vegas&lt;/i&gt;? Or the well-equipped but bigoted human supremacists?&lt;br /&gt;&lt;br /&gt;All of them have their own agendas that they'll pursue, with or without your help.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;i&gt;Suikoden&lt;/i&gt;-style collecting of party members&lt;/span&gt;&lt;/b&gt;&amp;nbsp;You need to gather 36 party members slowly as you play the game. There are about 50+ potential recruits so there's a lot to choose from.&lt;br /&gt;&lt;br /&gt;Each party member has their own backstory, and personalities that affect combat (think &lt;i&gt;Jagged Alliance&lt;/i&gt;). Some may be devoted to their faith, but prejudiced against half-breeds. One of them may be a crack shot, but has emotional baggage that would get you into trouble during a hostage situation.&lt;br /&gt;&lt;br /&gt;No one's a complete goody-two-shoes or bad guy here, and it's up to you who to recruit.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;More Screenshots&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Xk6pxKE4JSc/UnlAon8RjOI/AAAAAAAAEDo/QyVCefl-xDE/s1600/ScreenShot418+(1).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="165" src="http://3.bp.blogspot.com/-Xk6pxKE4JSc/UnlAon8RjOI/AAAAAAAAEDo/QyVCefl-xDE/s320/ScreenShot418+(1).jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-heI9c4gg84k/UnlAw6115MI/AAAAAAAAEDw/sb7IAP0lHk0/s1600/ScreenShot416+(5)+(1).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="165" src="http://1.bp.blogspot.com/-heI9c4gg84k/UnlAw6115MI/AAAAAAAAEDw/sb7IAP0lHk0/s320/ScreenShot416+(5)+(1).jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-rCwYVqPz-yM/UnlA01JD1-I/AAAAAAAAED4/YN13jC1BnyQ/s1600/ScreenShot387+(1)3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="166" src="http://3.bp.blogspot.com/-rCwYVqPz-yM/UnlA01JD1-I/AAAAAAAAED4/YN13jC1BnyQ/s320/ScreenShot387+(1)3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-KWR-pzZSW_4/UnlA1X4-h4I/AAAAAAAAEEA/O2UVmwo5flY/s1600/ScreenShot392+(1)+(1).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="167" src="http://4.bp.blogspot.com/-KWR-pzZSW_4/UnlA1X4-h4I/AAAAAAAAEEA/O2UVmwo5flY/s320/ScreenShot392+(1)+(1).jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;Gameplay Footage&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/Yo6OZPPWxGQ?feature=player_embedded' frameborder='0' /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you have friends you think will like this, spread the word! Use the hashtag #KickstartGraywalkers and use our official short URL: http://kck.st/1eJmrQs when tweeting so we can find your tweets.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;WARNING&lt;/b&gt;! Please take note that mass sending of tweets about the game to other Twitter users that aren't your followers is considered spamming and we could get suspended for that.&lt;br /&gt;&lt;br /&gt;I'd also love to hear your feedback, good or bad. I'll forward them to the rest of the team. We can't improve if you don't tell us the wrong things we haven't noticed.&lt;br /&gt;&lt;br /&gt;A few more related links:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://steamcommunity.com/sharedfiles/filedetails/?id=191653077" target="_blank"&gt;Our Steam Greenlight Page&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.indiedb.com/games/graywalkers-purgatory" target="_blank"&gt;Our IndieDB Page&lt;/a&gt;&lt;br /&gt;&lt;a href="https://www.facebook.com/Graywalkers" target="_blank"&gt;Our Facebook Page&lt;/a&gt;&lt;br /&gt;&lt;a href="https://twitter.com/graywalkersgame" target="_blank"&gt;Our Twitter Account&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/channel/UCWOwXNDmTiWGrkZ4hIhS_TA" target="_blank"&gt;Our YouTube Channel&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks for your time!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;So that's that.&lt;br /&gt;&lt;br /&gt;As for how it's doing:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-BSWzuoUbPA8/Unk4LxAMZoI/AAAAAAAAEDM/_td4yor9xd4/s1600/2013-11-06+02_23_41-Graywalkers_+Purgatory+by+Dreamlords+Digital+%C2%BB+Dashboard+%E2%80%94+Kickstarter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="278" src="http://4.bp.blogspot.com/-BSWzuoUbPA8/Unk4LxAMZoI/AAAAAAAAEDM/_td4yor9xd4/s640/2013-11-06+02_23_41-Graywalkers_+Purgatory+by+Dreamlords+Digital+%C2%BB+Dashboard+%E2%80%94+Kickstarter.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Which means it certainly could be better. I'm not the one running the show here--I'm not even the main authority with the development (I'm in as the lead engineer, doing the technical stuff only)--but I am sharing my thoughts with the rest of the team. And we got some back-and-forth going on. Certainly something to share afterwards.&lt;br /&gt;&lt;br /&gt;Our lead has his own blog that he updates (supposedly) daily if you guys want to know more from his point of view:&amp;nbsp;&lt;a href="http://wyldekarde.kinja.com/"&gt;http://wyldekarde.kinja.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sweet bonus: here's a screenshot of our Greenlight with l33t amount of YES votes:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-uPp7ZnyIc0Q/Unk5xq5DSAI/AAAAAAAAEDY/f8RV3uEcxGU/s1600/Greenlight1337.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="596" src="http://4.bp.blogspot.com/-uPp7ZnyIc0Q/Unk5xq5DSAI/AAAAAAAAEDY/f8RV3uEcxGU/s640/Greenlight1337.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/bhGmtOZ9MCo" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/3851938325142464904/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2013/11/graywalkers-purgatory-kickstarter.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/3851938325142464904" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/3851938325142464904" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/bhGmtOZ9MCo/graywalkers-purgatory-kickstarter.html" title="Graywalkers Purgatory Kickstarter!" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-rCwYVqPz-yM/UnlA01JD1-I/AAAAAAAAED8/FTmzFQ-OLLI/s72-c/ScreenShot387+%25281%25293.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2013/11/graywalkers-purgatory-kickstarter.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-6804418288001225915</id><published>2013-08-11T22:11:00.000+08:00</published><updated>2013-08-13T12:28:40.102+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Design" /><title type="text">Equipped Skills: The Growing Trend in RPG Game Development</title><content type="html">&lt;i&gt;What do Magic: The Gathering and Diablo 3 have in common? A year ago I predicted about RPG game development moving away from traditional level-up systems. Now it looks like the plot grows thicker.. Here I discuss the growing trend of "equipped skills".&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I told you people. &lt;a href="http://gamasutra.com/blogs/FerdinandJosephFernandez/20120219/90943/Should_RPG_Elements_Be_Adapted_To_NonRPG_Games.php"&gt;I told you!&lt;/a&gt; Now it's happening.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;strike&gt;Developers&lt;/strike&gt; marketing people are touting their game's innovative class system! Players are up in arms about removing the traditional trinity (i.e. tank/DPS/support)! Classless systems! &lt;a href="http://chaotikgaming.com/everquest-next-class-system/"&gt;Ogre wizards wearing plate and shooting bows&lt;/a&gt;!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Woah there, sperglord", you say. "What are you yammering about?"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll tell you what. I'll be straight to the point: Developers are shifting away from the traditional skill system and putting in a flexible one that I call, for a lack of better term, "&lt;b&gt;equipped skills&lt;/b&gt;".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let me explain further. When I say traditional system, it's when players are given skill points upon leveling-up to let them purchase which new skills he wants for his character.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(When I say skills, this is a pretty broad term, but if you play RPGs, you'll know what I mean. Some systems call them perks (i.e. Fallout) , feats (i.e. D&amp;amp;D), abilities, et al. They're basically some sort of intangible item that unlocks some attack you can now use, or modifies the rules of the game for your character.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://gamasutra.com/blogs/FerdinandJosephFernandez/20120219/90943/Should_RPG_Elements_Be_Adapted_To_NonRPG_Games.php"&gt;Like I said before&lt;/a&gt;, the problem with such a system is that purchasing skills are a life-altering event for the character, that usually can't be reverted. So players need proper deliberation before choosing what skills to purchase.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And how would players know beforehand which skills are worth purchasing? Generally, they can't. They need to devote time, doing trial-and-error, experimenting with every character build they think is worth pursuing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(Either that, or they have to do some researching and asking around. Not necessarily a fun process, if you just really want to play the damn game already.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When they figure out what they want, only then, finally, they can proceed to play the game in earnest.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And they need lots of time. Generally, it's not very easy to quickly start again with a blank slate for your character, ready for another round of experimentation.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And some people say, the labor you do with experimenting is part of the fun. For some people, they see it as a problem.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is why &lt;i&gt;respec &lt;/i&gt;became a hot issue one time. Devs wanted to introduce respec to help lessen the time needed to do experimentations.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But that was only the band-aid solution to an old system. What developers next considered, is creating a new system that addresses the (what they consider to be a) problem from the start.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Basically, they want a way to streamline that experimentation process. To make it easier for players to rapidly create character builds.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And this new trend of a more flexible skill system, which I refer to as "&lt;b&gt;equipped skills&lt;/b&gt;" is what people came up with, that resounded a lot in the developer community (whether intentionally or not). How come? So many new games are doing it now.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But let me explain first how this other system works.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are the quick points:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Out of a wide selection of available skills, you can "equip" only a few at a time (e.g. say, 8 skill slots). &lt;b&gt;Those equipped are the only ones that are in effect&lt;/b&gt;, and usable in combat.&lt;/li&gt;&lt;li&gt;The game then, is centered around choosing a combination of skills that complement each other well, given the restrictions.&lt;/li&gt;&lt;li&gt;This is akin to playing a tradeable card game: out of all the available cards of that game, you choose the ones you want for your deck.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;This is in contrast with games that have more traditional skill systems, like &lt;i&gt;Dragon Age.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In games like that, skills that you purchase are &lt;b&gt;always &lt;/b&gt;available and usable. Equipping skills in a hotbar, in those games, is only for convenience, not a requirement.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The holy grail that devs want here is how &lt;i&gt;Magic: The Gathering&lt;/i&gt; does it. That game has so much possibilities and permutations that players occasionally find combo cards, even when such cards were not originally meant to complement each other.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As with any fairly workable idea, the idea itself won't necessarily spell doom or success for the game, but how the devs do their specific implementation of it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And, indeed, each game made has their own implementation of the idea.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now here come the examples:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Call of Duty BLOPS 2: Pick-10 System&lt;/h2&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ign.com/wikis/call-of-duty-black-ops-2/Create_A_Class"&gt;http://www.ign.com/wikis/call-of-duty-black-ops-2/Create_A_Class&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;The Create A Class system has been drastically improved from the original Call of Duty Series. This time, each Perk, Weapon, Weapon Attachment, piece of Equipment, and more will cost one point in the new Pick 10 System. In this way, every player will &lt;b&gt;create a class in their own way&lt;/b&gt;, as long as their points don't add up over ten when going into a match. ... This allows players to &lt;b&gt;switch up their play style&lt;/b&gt; and make each and every game unique.&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.gameranx.com/updates/id/8683/article/black-ops-2-wildcard-system-guide-described-in-detail/"&gt;http://www.gameranx.com/updates/id/8683/article/black-ops-2-wildcard-system-guide-described-in-detail/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://www.nowgamer.com/features/1537717/how_the_black_ops_2_pick_10_create_a_class_system_works.html"&gt;http://www.nowgamer.com/features/1537717/how_the_black_ops_2_pick_10_create_a_class_system_works.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;So the choices you need to make become about how to tailor your preferences within these ten slots. You may decide not to equip a grenade at all, in favour of an additional attachment for your primary weapon. Or, alternatively, you might not even want a primary weapon. The choice is yours.&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;The Secret World: skill system&lt;/h2&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ea.com/news/secret-world-reveals-deck-based-skill-system"&gt;http://www.ea.com/news/secret-world-reveals-deck-based-skill-system&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;One of The Secret World's most unique selling points has been its lack of a traditional class system. Unlike most RPGs, which assign players to damage, tank, and healer roles, FunCom’s MMO has opened up its &lt;b&gt;bank of skills to allow complete player customization&lt;/b&gt;.&lt;/i&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;Each character in The Secret World is given access to &lt;b&gt;14 ability slots&lt;/b&gt; – seven active and seven passive – that shape your role and determine your strengths. This is called &lt;b&gt;your “deck,”&lt;/b&gt; and you can &lt;b&gt;build it any way you like&lt;/b&gt;. Of course, with over 500 abilities to choose from, making those decisions can get a little overwhelming. That’s where the &lt;b&gt;deck template system&lt;/b&gt; comes in.&lt;/i&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;Each deck template employs &lt;b&gt;14 abilities or "cards"&lt;/b&gt; to create a unique type of character, granting the player exclusive power and a deck-specific outfit.&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://gaming.stackexchange.com/questions/75871/just-how-experimentation-friendly-is-the-skill-system-in-the-secret-world"&gt;http://gaming.stackexchange.com/questions/75871/just-how-experimentation-friendly-is-the-skill-system-in-the-secret-world&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;Character growth in The Secret World has been pitched as 'Horizontal, not Vertical'. ... After a point, character growth stops being about becoming more powerful, and instead becomes about &lt;b&gt;having more choices&lt;/b&gt;. And the best part is that that point is wherever you want it to be. If you're not having fun with a given weapon anymore, &lt;b&gt;you can change it. Anytime you want&lt;/b&gt;. You might need to duck back to some easier content for a little while, but that isn't a big deal anyway.&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Diablo 3: Skill system&lt;/h2&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.diablowiki.net/Diablo_3_Basics"&gt;http://www.diablowiki.net/Diablo_3_Basics&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;Characters can use &lt;b&gt;up to six skills at once&lt;/b&gt;, and may &lt;b&gt;cycle between them&lt;/b&gt; with only minimal cooldowns.&lt;/i&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;Characters can have up to 3 passive skills active...&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.diablowiki.net/Skill_tree"&gt;http://www.diablowiki.net/Skill_tree&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;Diablo 3 had skill trees during most of the game's development, but the entire skill interface was reworked numerous times during development, and ultimately the &lt;b&gt;skill trees were removed&lt;/b&gt; and replaced with a sort of skill menu.&lt;/i&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;Jay Wilson: ...We've decided to &lt;b&gt;remove the tree-type architecture&lt;/b&gt; and we are moving into a purely skill-based system. This new system is still in the development stages and if it does not work, we still have plenty of options to fall back on. Right now, we're just trying different things and getting a feel for the few ideas in regards to the skill system that we have going on right now. It differs from the World of Warcraft/Diablo II type hierarchical styles and is more of a skill pool/path than a tree per se.&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;Additionally, see &lt;a href="http://www.gamasutra.com/blogs/DavidSirlin/20120507/169854/Diablo_3s_Ability_System.php"&gt;David Sirlin's article&lt;/a&gt; which also describes the system.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Guild Wars 2: Skill System&lt;/h2&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://gw2101.gtm.guildwars2.com/en/the-game/combat/part-one/"&gt;http://gw2101.gtm.guildwars2.com/en/the-game/combat/part-one/&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;&lt;b&gt;Like a collectible card game&lt;/b&gt;, we provide the player with a wide variety of choices and allow them to &lt;b&gt;pick and choose skills to create a build&lt;/b&gt; that best suits their particular play style.&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now you might think this is all new, but look at this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Final Fantasy Tactics: Job System&lt;/h2&gt;&lt;div&gt;In FFT, each character equips certain skills, categorized as Command Abilities (actions that the character can perform: e.g. attack, steal, perform magic), Reaction Abilities (performed automatically when you are attacked), Support Abilities (passive bonus), and Movement Abilities (skills that modify movement e.g. jump higher, move farther, etc.).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://finalfantasy.wikia.com/wiki/Job_System"&gt;http://finalfantasy.wikia.com/wiki/Job_System&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;...as the player changes between the jobs, skills will be able to be transported over to the next... This addition of &lt;b&gt;mixing skills&lt;/b&gt; (along with the jobs themselves) and the statistics gained from them, further developed the Job System...&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://kotaku.com/5974665/man-final-fantasy-tactics-sure-had-a-steep-learning-curve"&gt;http://kotaku.com/5974665/man-final-fantasy-tactics-sure-had-a-steep-learning-curve&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;Jason: so those can all be &lt;b&gt;mixed and matched&lt;/b&gt;&lt;br /&gt;Jason: once a character learns an ability, he &lt;b&gt;can equip it at any time&lt;/b&gt;&lt;br /&gt;Jason: so once Kirklton has jp boost, he &lt;b&gt;can put that in no matter what class he is&lt;/b&gt;&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You could say FFT does it differently, but the basic idea is the same. Perhaps you could say FFT was ahead of its time, eh?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So the idea isn't really new, but that it's becoming a trend, I think is new.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;EverQuest Next&lt;/h2&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;We know little from what was recently presented by the developers, but I can easily see this is another take on the "equipped skills" idea.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://news.mmosite.com/content/2013-08-09/ten_things_you_need_to_know_about_everquest_next_classes.shtml"&gt;http://news.mmosite.com/content/2013-08-09/ten_things_you_need_to_know_about_everquest_next_classes.shtml&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;Character abilities come in four types: movement, offensive, defensive and utility. Multi-classing comes into play with the character abilities--they’re the ones you &lt;b&gt;can switch out&lt;/b&gt; to &lt;b&gt;change up your build&lt;/b&gt; for the specific class. You might, for instance, make a warrior who can also do magical damage and has great defense against casters.&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://chaotikgaming.com/everquest-next-class-system/"&gt;http://chaotikgaming.com/everquest-next-class-system/&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;Unlocking a new class unlocks new skills to choose from within those 4 character &lt;b&gt;skill slots&lt;/b&gt;. This is where your &lt;b&gt;skill customization&lt;/b&gt; comes into play. A warrior might unlock a shadow knight class and then be able to choose shadow knight class abilities to replace his warrior class abilities.&lt;/i&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;The perfect example used on the class panel was building a Warrior into a Caster Killer. He swapped leap for a type of teleport. He &lt;b&gt;swapped out&lt;/b&gt; his offensive move for a Mana Burn. His Defensive skill was swapped to a Spell Reflect and his utility spell swapped for something equally powerful vs. casters.&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.geek.com/games/why-im-skeptical-about-everquest-next-1564398/"&gt;http://www.geek.com/games/why-im-skeptical-about-everquest-next-1564398/&lt;/a&gt; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://www.youtube.com/watch?v=ToQwqIY3nwc&amp;amp;t=83"&gt;https://www.youtube.com/watch?v=ToQwqIY3nwc&amp;amp;t=83&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And so on.. I'm sure you can cite a few more examples.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note how they describe it. Mixing and matching. Swapping out. Using slots. Easy customization. Even the developers go so far as to describe it as a collectible card system, a deck.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't find it surprising. That's really what's at the core of an "equipped skills" system.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As you can tell, each game has their own take on the idea. Some games add more layers of complexity (e.g. skills that are dependent on weapon equipped, &lt;i&gt;Diablo 3&lt;/i&gt;'s rune system, etc.) to make things more interesting.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Custom classes&lt;/h2&gt;&lt;br /&gt;They also like to describe it as something that easily suits the player's play style. Basically, you can think of &lt;i&gt;respec &lt;/i&gt;being a built-in feature in this type of system. And being able to easily accommodate different play styles quickly, is one of its strong points.&lt;br /&gt;&lt;br /&gt;This can undermine the whole point of having classes.&lt;br /&gt;&lt;br /&gt;On one end we have &lt;i&gt;BLOPS 2&lt;/i&gt;, which uses it for their &lt;i&gt;Create-A-Class&lt;/i&gt; system. Or &lt;i&gt;Secret World&lt;/i&gt;, where there are, indeed, no classes to speak of.&lt;br /&gt;&lt;br /&gt;Instead the player creates his own custom class. The idea is the player cherry-picks which skills he wants to use from the ones provided by each skill group. Classes, when looked at this regard, are simply categories to group related skills together (e.g. fighter skills, thief skills, sorcerer skills, etc.). Think of them as the &lt;i&gt;colors &lt;/i&gt;in &lt;i&gt;Magic The Gathering&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;The player then, can choose to specialize in one group only (e.g. choose only fighter skills for his build), be a jack of &lt;i&gt;all&lt;/i&gt; trades but master of none, or sit somewhere between the two extremes (e.g. do the equivalent of a dual-class).&lt;br /&gt;&lt;br /&gt;On the other hand, some implementations decide to keep things tight and still have classes (i.e. &lt;i&gt;Diablo 3&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;So an "equipped skills" system doesn't necessarily need to turn the game into a classless system, (as some people call it) but you can also design it that way.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;We still like to buy stuff though&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you go through some of them, you'll notice in some games, the skills are unlocked automatically for you at some point (leveling-up in &lt;i&gt;Diablo 3&lt;/i&gt;). But some games still require you to purchase the skill before it's available for equipping.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I guess devs can't help but still add that. The idea of earning for your skills, slowly growing your collection, like some sort of hobby collector, is a good motivator for players, understandably.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We should note though, that there's no more need to disallow the player from collecting every skill in the whole game, since we already have the restriction of being able to equip/use only a few at a time. I.e.&lt;i&gt; Go ahead, unlock everything! You can equip only 8 at a time anyway.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So it's common that these systems allow players to eventually unlock/purchase every skill. That's in contrast to a traditional level-up system, where you're usually not allowed to unlock every skill.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another take on it can be that you also purchase upgrades on each skill, so it's not like we need to remove the idea of purchasing altogether.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Easing up new players to the system&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, it's understandable that developers would be worried that some players may find this system too complicated. How would they know which skills to pick for their "deck"?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Each game has something up their sleeve for this.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;BLOPS 2&lt;/i&gt;, with it being a multiplayer affair, addressed this by providing &lt;a href="http://callofduty.wikia.com/wiki/Create-A-Class#Pre-Made_Classes"&gt;pre-made classes&lt;/a&gt;. They are essentially &lt;b&gt;preset builds&lt;/b&gt; whose selection of skills are chosen for you. This is so that you can start playing immediately and get a feel for each skill's usefulness and how they work well with each other. Think of them as preset decks in &lt;i&gt;Magic: The Gathering&lt;/i&gt;.&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;i&gt;The Secret World&lt;/i&gt; does something similar with their &lt;a href="http://secretworld.wikia.com/wiki/Decks"&gt;decks&lt;/a&gt;, although I do believe you still need to unlock those skills dictated by the deck templates. Essentially, they are more of a guide, than a preset.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Diablo 3&lt;/i&gt; had to do it with a lot of hand-holding, in what combinations the player could do (e.g. Wizard can have only one signature spell). As they explained, this was done to prevent players from mistakenly making poor character builds that would frustrate them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Understandably, the hardcore players who love to experiment found this limiting. The not so hardcore audience did not have any problems with it. So it was wise to allow the player to turn those restrictions on or off (i.e. &lt;a href="http://www.toptiertactics.com/13665/diablo-3-elective-mode-information/"&gt;Elective Mode&lt;/a&gt;). The only problem it seemed, was that it was not apparent that you could turn it off in the first place.&lt;br /&gt;&lt;br /&gt;Most others, you had to purchase/unlock skills first before they can be equipped, as mentioned above. Pragmatically speaking, this is done so that you won't be overwhelmed with too many options at the start; you're forced to have only a few skills at the beginning and slowly unlock new ones.&lt;br /&gt;&lt;br /&gt;This gives you time to slowly learn and get comfortable with each new unlocked skill, before you move on to the next. At the end, once you've tested all of them, you could then decide to stick with the ones you're happy with.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;EQ Next&lt;/i&gt;, from what I can understand, took some cues from &lt;i&gt;Final Fantasy Tactics Advance&lt;/i&gt;: it seems which weapon you equip determines your first four skills (weapon skills), and the last four (character skills) are gained by purchasing/unlocking.&lt;br /&gt;&lt;br /&gt;This means presumably you don't have to worry about what combination of weapon skills to get; you can't mix and match weapon skills since they come as a preset in the weapon. But you'll still have some wiggle room for experimentation with the character skills, and which weapon to get in the first place.&lt;br /&gt;&lt;br /&gt;Each developer has a different variation to address this issue. Certainly there's room for creativity here.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h2&gt;Banned cards&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But wait!, you say. Isn't &lt;i&gt;Magic: The Gathering&lt;/i&gt; infamous for having &lt;a href="http://mtg.wikia.com/wiki/Power_Nine"&gt;cards so powerful&lt;/a&gt;, they had to ban them?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What causes banned cards anyway? What happens is developers initially had no idea that the cards they made, when used with certain others, were too powerful (in that the cards bordered on cheating).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That is indeed a danger with a mix-and-match system. You obviously want many cards in your game. But you can't possibly anticipate every card combination that might break the game. At least, probably not enough for your game's deadline.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(&lt;a href="http://shoryuken.com/2012/08/21/thinking-about-design-options-as-the-greatest-resource/"&gt;Here's a good article&lt;/a&gt; showing one point of view of what makes a card too powerful.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But look at it this way. For all its faults, &lt;i&gt;Magic&lt;/i&gt; still manages to have a player base in this day and age. Whatever Wizards of the Coast is doing, they're doing well enough.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's certainly not a perfect system, but it can still work and arguably&amp;nbsp;be&amp;nbsp;successful for a product.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ultimately, just because you choose to employ an "equipped skills" system for your game, that doesn't automatically make it better over a traditional skill system.&lt;br /&gt;&lt;br /&gt;You'd have to tweak and fine-tune it, as you should, regardless of what style of system you use.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Resistance to change is expected of course. Understandably, a lot of players are averse to the general idea&amp;nbsp;of equipped skills (&lt;i&gt;instant respecs take the fun away!, there's no excitement in leveling-up anymore!&lt;/i&gt; etc.), but its not like the idea of a traditional skill system is perfect either.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On the other hand, it's not necessarily bad to be wary of it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the end, (good) devs love to experiment, creating new systems all the time, that's what makes them developers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My guess: It'll take a few iterations of games employing this system to finally come up with a "best practice" document on designing such a thing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Side note: I'm using the same idea for &lt;a href="http://victisgame.wordpress.com/"&gt;my game&lt;/a&gt;. Hopefully it'll work out!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, how do you think this trend will pan out?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/luhDzafhhXA" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/6804418288001225915/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2013/08/i-told-you-people.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/6804418288001225915" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/6804418288001225915" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/luhDzafhhXA/i-told-you-people.html" title="Equipped Skills: The Growing Trend in RPG Game Development" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2013/08/i-told-you-people.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-5881080079748023377</id><published>2013-05-19T21:45:00.001+08:00</published><updated>2013-05-19T21:50:37.841+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Unity" /><title type="text">OpenInFileBrowser Code</title><content type="html">I realized there's a debacle right now in the Unity Wiki Website over its content being under the Creative Commons License.&lt;br /&gt;&lt;br /&gt;So to make sure there's no legal problems with using this code, here's a re-upload of my OpenFileInBrowser code for Unity here in my blog.&lt;br /&gt;&lt;br /&gt;As always, I put this code in Public Domain as it's quite simple but good enough to be shared.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public static class OpenInFileBrowser&lt;br /&gt;{&lt;br /&gt;   public static bool IsInMacOS&lt;br /&gt;   {&lt;br /&gt;      get&lt;br /&gt;      {&lt;br /&gt;         return SystemInfo.operatingSystem.IndexOf("Mac OS") != -1;&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt;   public static bool IsInWinOS&lt;br /&gt;   {&lt;br /&gt;      get&lt;br /&gt;      {&lt;br /&gt;         return SystemInfo.operatingSystem.IndexOf("Windows") != -1;&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt;   [MenuItem("Window/Test OpenInFileBrowser")]&lt;br /&gt;   public static void Test()&lt;br /&gt;   {&lt;br /&gt;      //string path = "/Users/Ferds/Unity Projects/BuildReportTool/BuildReportUnityProject/Assets/BuildReportDebug";&lt;br /&gt;      //string path = "/Users/Ferds/Unity Projects/BuildReportTool/BuildReportUnityProject/Assets/BuildReportDebug/EditorMorel.log.txt";&lt;br /&gt;      //string path = "/Users/Ferds/UnityBuildReports/";&lt;br /&gt;      string path = "/Users/Ferds/UnityBuildReports/test4.xml";&lt;br /&gt; &lt;br /&gt;      Open(path);&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;   public static void OpenInMac(string path)&lt;br /&gt;   {&lt;br /&gt;      bool openInsidesOfFolder = false;&lt;br /&gt; &lt;br /&gt;      // try mac&lt;br /&gt;      string macPath = path.Replace("\\", "/"); // mac finder doesn't like backward slashes&lt;br /&gt; &lt;br /&gt;      if (Directory.Exists(macPath)) // if path requested is a folder, automatically open insides of that folder&lt;br /&gt;      {&lt;br /&gt;         openInsidesOfFolder = true;&lt;br /&gt;      }&lt;br /&gt; &lt;br /&gt;      //Debug.Log("macPath: " + macPath);&lt;br /&gt;      //Debug.Log("openInsidesOfFolder: " + openInsidesOfFolder);&lt;br /&gt; &lt;br /&gt;      if (!macPath.StartsWith("\""))&lt;br /&gt;      {&lt;br /&gt;         macPath = "\"" + macPath;&lt;br /&gt;      }&lt;br /&gt;      if (!macPath.EndsWith("\""))&lt;br /&gt;      {&lt;br /&gt;         macPath = macPath + "\"";&lt;br /&gt;      }&lt;br /&gt;      string arguments = (openInsidesOfFolder ? "" : "-R ") + macPath;&lt;br /&gt;      //Debug.Log("arguments: " + arguments);&lt;br /&gt;      try&lt;br /&gt;      {&lt;br /&gt;         System.Diagnostics.Process.Start("open", arguments);&lt;br /&gt;      }&lt;br /&gt;      catch(System.ComponentModel.Win32Exception e)&lt;br /&gt;      {&lt;br /&gt;         // tried to open mac finder in windows&lt;br /&gt;         // just silently skip error&lt;br /&gt;         // we currently have no platform define for the current OS we are in, so we resort to this&lt;br /&gt;         e.HelpLink = ""; // do anything with this variable to silence warning about not using it&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt;   public static void OpenInWin(string path)&lt;br /&gt;   {&lt;br /&gt;      bool openInsidesOfFolder = false;&lt;br /&gt; &lt;br /&gt;      // try windows&lt;br /&gt;      string winPath = path.Replace("/", "\\"); // windows explorer doesn't like forward slashes&lt;br /&gt; &lt;br /&gt;      if (Directory.Exists(winPath)) // if path requested is a folder, automatically open insides of that folder&lt;br /&gt;      {&lt;br /&gt;         openInsidesOfFolder = true;&lt;br /&gt;      }&lt;br /&gt;      try&lt;br /&gt;      {&lt;br /&gt;         System.Diagnostics.Process.Start("explorer.exe", (openInsidesOfFolder ? "/root," : "/select,") + winPath);&lt;br /&gt;      }&lt;br /&gt;      catch(System.ComponentModel.Win32Exception e)&lt;br /&gt;      {&lt;br /&gt;         // tried to open win explorer in mac&lt;br /&gt;         // just silently skip error&lt;br /&gt;         // we currently have no platform define for the current OS we are in, so we resort to this&lt;br /&gt;         e.HelpLink = ""; // do anything with this variable to silence warning about not using it&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt;   public static void Open(string path)&lt;br /&gt;   {&lt;br /&gt;      if (IsInWinOS)&lt;br /&gt;      {&lt;br /&gt;         OpenInWinFileBrowser(path);&lt;br /&gt;      }&lt;br /&gt;      else if (IsInMacOS)&lt;br /&gt;      {&lt;br /&gt;         OpenInMacFileBrowser(path);&lt;br /&gt;      }&lt;br /&gt;      else // couldn't determine OS&lt;br /&gt;      {&lt;br /&gt;         OpenInWinFileBrowser(path);&lt;br /&gt;         OpenInMacFileBrowser(path);&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/5JjBK-YL0BU" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/5881080079748023377/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2013/05/openinfilebrowser-code.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/5881080079748023377" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/5881080079748023377" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/5JjBK-YL0BU/openinfilebrowser-code.html" title="OpenInFileBrowser Code" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2013/05/openinfilebrowser-code.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-4233265651419902638</id><published>2013-05-08T07:23:00.001+08:00</published><updated>2013-05-11T10:18:04.152+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Unity" /><title type="text">My first time selling on the Unity Asset Store</title><content type="html">It started with &lt;a href="http://forum.unity3d.com/threads/135287-Sharing-assets-across-projects?p=1219015&amp;amp;viewfull=1#post1219015"&gt;this&lt;/a&gt;. Someone was having trouble with his build size so I explained that thing about the Editor.log, in that it actually had info on the breakdown of your build's file size!&lt;br /&gt;&lt;br /&gt;So I went and whipped up a simple front-end for the log's build info over a weekend.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i.imgur.com/Plt4C5T.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="205" src="http://i.imgur.com/Plt4C5T.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Then I asked the forums if they'd be interested in having it on the Asset Store. A handful of people agreed. Then I thought, why don't I try selling it, maybe for just a few bucks to see what's the experience of selling on the Asset Store? We need the money anyway.&lt;br /&gt;&lt;br /&gt;There was a &lt;a href="http://www.linkedin.com/groupItem?view=&amp;amp;gid=115629&amp;amp;type=member&amp;amp;item=232096229"&gt;discussion in a LinkedIn Unity group&lt;/a&gt; where someone was adamant that I should give it for free and that I'd only get &lt;i&gt;a few bucks out of it&lt;/i&gt;. It was quite a bummer. It was a bit depressing actually.&lt;br /&gt;&lt;br /&gt;So I set it to $2 as an introductory price and waited how it would turn out. The plan went that I'd keep it as $2 for one week then set it to the standard price.&lt;br /&gt;&lt;br /&gt;David Helgason even &lt;a href="https://twitter.com/AnomalusUndrdog/status/323944271340244992"&gt;retweeted my tweet about it&lt;/a&gt;. I guess it was like... I don't know. Stevie Wonder humming a tune you just made up? It was unexpectedly cool.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;span style="margin-left: auto; margin-right: auto;"&gt;&lt;a href="https://twitter.com/davidhelgason/status/325570780245131264"&gt;&lt;img border="0" height="195" src="http://3.bp.blogspot.com/-8oqjEbiMr44/UYsFLzhGTJI/AAAAAAAADuY/kK98waZ5w9s/s320/Screen+Shot+2013-05-09+at+10.06.59+AM.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;a href="https://twitter.com/davidhelgason/status/325570780245131264"&gt;David's a pretty awesome guy.&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;I placed a &lt;a href="http://forum.unity3d.com/poll.php?pollid=898&amp;amp;do=showresults"&gt;public poll on my forum thread&lt;/a&gt; asking "How much would you be willing to pay for this plugin?" The choices I put where $2, $5, and $10. Majority answered $5. I guess they're not that cheap that they'd settle for the lowest price. Seems like $10 is too much too. So we figured $5 was the sweet spot.&lt;br /&gt;&lt;br /&gt;By the end of the week I then set it to $5, only to realize that price changes do, in fact, still have to go through review by the Asset Store team. Then David &lt;a href="https://twitter.com/davidhelgason/status/327581047434907651"&gt;again helped me out&lt;/a&gt;. It's quite awesome that a big company like Unity still has the time to help out the little guys using their products.&lt;br /&gt;&lt;br /&gt;So the $2 sale went for approximately 9 days. A total of 117 people bought it during that period.&lt;br /&gt;&lt;br /&gt;I'd shudder to think that $163 is &lt;i&gt;only a few bucks&lt;/i&gt;. Must be there's a really high standard of living where that guy is.&lt;br /&gt;&lt;br /&gt;Now that the selling price is $5, the amount of people who purchased is about 1/3rds lesser. I still got higher sales overall though.&lt;br /&gt;&lt;br /&gt;It's selling quite well, for something I just whipped up over the weekend (though I do improve it every now and then). It's managed to get consistent five stars from reviews. It even got to the Asset Store front page one time.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-U3noYYdBIIs/UYmKTL8vewI/AAAAAAAADs0/RCZQ9NQnVyc/s1600/BRT+front+page.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-U3noYYdBIIs/UYmKTL8vewI/AAAAAAAADs0/RCZQ9NQnVyc/s320/BRT+front+page.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here's the link to the Asset Store page:&amp;nbsp;&lt;a href="http://u3d.as/4u2"&gt;http://u3d.as/4u2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here are some things I'd like to share for my experience:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;If a customer previously purchased directly from you (not from Asset Store), it cannot be unlocked for them in the Asset Store for free. They have to buy it again in the Asset Store.&lt;/li&gt;&lt;li&gt;Your publisher page is quite bare-bones. There's no sales graph or overall total sales. There's only the sales per month, and you can only view one month at a time. Switching from one month to the next is quite slow (for my Internet connection).&lt;/li&gt;&lt;li&gt;Related to that, when a customer posts a user review, you get &lt;b&gt;no email notification&lt;/b&gt; about it, or any notification whatsoever. You have to visit your asset store product's page every now and then to see if someone has a complaint in their review, or some misunderstanding you'd like to clear up. UT's take on this is that it's your job to facilitate communication with your customers, but something like an option for email notification in this case would be nice, no?&lt;/li&gt;&lt;li&gt;The ways you could offer support is usually via Twitter, email, tell them that they can PM you in the Unity forums, or if you have a forum thread about your product, give them a link. You'd usually put such links in your Asset Store product page's description.&lt;/li&gt;&lt;li&gt;I'd like to reiterate the standard warning: If enough customers complain that they are not getting adequate support from you, UT has the right to take down your product.&lt;/li&gt;&lt;li&gt;If your product is something visual, then potential customers will like to see video demos, or web interactive demos to see an example of how your product is useful. Their mindset is: "So what's this Asset Store package? Will it be useful in the project I'm working on?" That second question is what you need to address. And you do it by showing potential scenarios of how it's used, i.e. demos.&lt;/li&gt;&lt;li&gt;If your product is purely code instead, perhaps a video tutorial how to use it can also work. At the very least, post some screenshots. Surely there's something visually presentable that you can show?&lt;/li&gt;&lt;li&gt;If your asset store package has code, customers will appreciate it if you separate your code into your own namespace as much as possible to avoid name conflicts.&lt;/li&gt;&lt;li&gt;Use the lowest possible version of Unity when releasing your asset package. Since they are distributed as .unitypackage files, the version of Unity used to create the .unitypackage is also the lowest version allowed to import that file. Frankly, I think this is just a conspiracy to force you to upgrade your licenses. I keep an installation of Unity 3.5.3 in this case.&lt;/li&gt;&lt;li&gt;Selling on the Unity Asset Store is a non-exclusive deal. I.e. you are free to sell your product via other stores (ex. &lt;a href="http://gameprefabs.com/"&gt;gameprefabs.com&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;strike&gt;You can't verify if a person who emailed you really purchased your product just using your publisher dashboard alone. You can, however, email the Asset Store Team to verify for you if someone indeed purchased it.&lt;/strike&gt;&amp;nbsp;&lt;a href="http://forum.unity3d.com/threads/181582-My-tips-on-selling-in-the-Asset-Store?p=1241137&amp;amp;viewfull=1#post1241137"&gt;Dantus&lt;/a&gt; in the Unity forums points out email isn't necessary. All you need to do to verify if someone purchased your asset is to ask them for their Invoice Number. Then in your publisher dashboard, there's a tab called "Verify Invoice". You can type the Invoice Number there to verify someone's purchase. (For example, say, someone reported a bug. So you fix it and would like to send it to the bug reporter to test the fix on his machine. What if he didn't really purchase your product? You better verify to be safe.)&lt;/li&gt;&lt;li&gt;Possible places you can use to advertise your asset package:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://forum.unity3d.com/forums/32-Assets-and-Asset-Store"&gt;Main Unity Forums&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://plus.google.com/communities/112038646764057420527"&gt;Google+ Unity Community&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.linkedin.com/groups?gid=115629"&gt;LinkedIn Unity Group&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://groups.google.com/forum/?fromgroups#!forum/unity-sea"&gt;Unity South East Asian Mailing List&lt;/a&gt; (only if you're based in South East Asia!)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.reddit.com/r/Unity3D/"&gt;Unity3d Subreddit&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/NkO1l2IbYfc" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/4233265651419902638/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2013/05/my-first-time-selling-on-unity-asset.html#comment-form" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/4233265651419902638" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/4233265651419902638" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/NkO1l2IbYfc/my-first-time-selling-on-unity-asset.html" title="My first time selling on the Unity Asset Store" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-8oqjEbiMr44/UYsFLzhGTJI/AAAAAAAADuY/kK98waZ5w9s/s72-c/Screen+Shot+2013-05-09+at+10.06.59+AM.png" height="72" width="72" /><thr:total>9</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2013/05/my-first-time-selling-on-unity-asset.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-7407889037092317768</id><published>2013-01-28T14:57:00.000+08:00</published><updated>2013-01-30T02:02:07.697+08:00</updated><title type="text">Global Game Jam 2013</title><content type="html">&lt;span style="font-family: Tahoma; text-align: -webkit-auto;"&gt;January 25, 2013. Start of Global Game Jam 2013.&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I woke up at 6 PM in our home-office, still a little bit groggy. I think my fever was gone.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Global Game Jam 2013 had already started and I was two cities away from the nearest jam site.&amp;nbsp;&lt;i&gt;What the hell do I do?&lt;/i&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;The me back in that January 25th would never have thought that I'd bag a Best Art of Manila Game Jam 2013.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3W8mjOcccZw/UQYSZ6ZLdqI/AAAAAAAACeU/JVHS4NhhYOc/s1600/20130127_194607.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://2.bp.blogspot.com/-3W8mjOcccZw/UQYSZ6ZLdqI/AAAAAAAACeU/JVHS4NhhYOc/s640/20130127_194607.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Let me backtrack for a moment.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I heard of the Global Game Jams before. I thought it was crazy to try to come up with a game in just two days' worth of time.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;But last year &lt;a href="http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-1.html"&gt;I was invited to be a mentor in the Unity Game Jam Manila&lt;/a&gt; and I realized, &lt;i&gt;hey, this is pretty fun&lt;/i&gt;. I should have participated instead.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;So I determined that come 2013, I'll start joining the Global Game Jam.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Boys will be boys&lt;/h2&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;It was the night before the Game Jam. We were bunking in our little home-office as usual.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;For some goddamn reason, the whole apartment room started smelling like semen. Seriously man, &lt;i&gt;putang ina,&amp;nbsp;amoy&amp;nbsp;tamod&lt;/i&gt;. What the flying fuck??? Is someone jacking off? We're all guys here, but there's this little thing called&amp;nbsp;&lt;i&gt;respect&lt;/i&gt;...&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;But it turned out it was coming from outside&amp;nbsp;the window.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;My friends said it was&amp;nbsp;&lt;i&gt;Zonrox&lt;/i&gt;. Here in the Philippines we have a bleach brand called&amp;nbsp;&lt;i&gt;Zonrox&lt;/i&gt;. And it suspiciously smells like goddamn semen.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-4hfIFzODoWk/UQYZqB6YeYI/AAAAAAAACfE/796btR7XL1o/s1600/zonrox_bleach-750x750.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-4hfIFzODoWk/UQYZqB6YeYI/AAAAAAAACfE/796btR7XL1o/s320/zonrox_bleach-750x750.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Ladies and gentlemen, Exhibit A.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;My other theory was that some bored&amp;nbsp;neighbor&amp;nbsp;was masturbating from his window. He probably kept bottles of it, judging from the strength of the smell.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I can't remember if I had my headache before or after that. Anyway I&amp;nbsp;&lt;i&gt;was&lt;/i&gt;&amp;nbsp;starting to feel nauseous so I slept early.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;The next morning, straight to the toilet I vomited. According to online pregnancy forums, clear and bitter vomit is just normal stomach bile.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I still had a headache so I slept the whole day.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;So when I woke up, it was 6 PM, and the Global Game Jam already started.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I was still concerned for my health, so a 48 hour contest sounded risky.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I thought, no way, I want this. Leeroy Jenkins all the way!&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;You know I heard some people use autosuggestion to actually improve their health, like a placebo but without going through the fake meds.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I like to think&amp;nbsp;&lt;i&gt;Gurren Lagann&lt;/i&gt;&amp;nbsp;was a factual story.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Anyway, I packed my stuff and through the graces of public transportation, I was able to hail a cab only after 30 minutes of waiting and overtaking my opponents for the nearest vacant taxi.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Day 1&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-2f5tZYwLORU/UQV_nW9Od0I/AAAAAAAACcw/c_Ny-UqHg0I/s1600/20130125_214427.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://3.bp.blogspot.com/-2f5tZYwLORU/UQV_nW9Od0I/AAAAAAAACcw/c_Ny-UqHg0I/s640/20130125_214427.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;I arrived about 8 PM I think. The people were just about to the last few pitches. I walked in, bags in tow, looking for the nearest acquaintance.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;"Excuse me-- Oh yeah I just got here-- Hey, what's the theme?"&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;So it was a heartbeat sound.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I looked for the nearest empty table and started setting up.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-45oGzvOpci0/UQV_MXgWMbI/AAAAAAAACco/LqJaW5puLgg/s1600/20130125_213354.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://4.bp.blogspot.com/-45oGzvOpci0/UQV_MXgWMbI/AAAAAAAACco/LqJaW5puLgg/s640/20130125_213354.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;The first idea I had was a character whose heartbeats physically affect the world around him.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Then I had a visual recollection of this game called &lt;i&gt;Journey&lt;/i&gt;, which from a video, I recalled, shows that the way to communicate to your stranger friend was by pulses.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;So from there I started my concept on the character.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/--r_wavZSEMw/UQYKmZiVRQI/AAAAAAAACdQ/OwXFM2fUURQ/s1600/Amrak.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/--r_wavZSEMw/UQYKmZiVRQI/AAAAAAAACdQ/OwXFM2fUURQ/s320/Amrak.png" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;You can easily see the influence from &lt;i&gt;Journey&lt;/i&gt; here.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I like to start with the art even though I already had a rough idea of what gameplay I want.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Usually people would go for using capsules as placeholders for character graphics and refine their mechanics until it's good, then swap in the real graphics.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;And that's really how you should do it, because you need to concentrate on refining the gameplay first.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;But my brain just doesn't want to work that way, at least, at that moment.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I really need to see the guy in there. He doesn't have to be normal-mapped and everything, but just see his shape, see him walking, really makes me feel focused.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Note: Actually I did not have the time to animate him walking.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I also recalled my past idea of&amp;nbsp;&lt;i&gt;sound locks&lt;/i&gt;.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Sound locks are locks that have no tangible keyhole. Instead the lock is adorned with a figurehead of an animal.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;You have to play a sound of the other animal it fears so the lock will open.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;So a lock of a cat would open upon playing the sound of a dog bark. Subsequently, it would lock upon hearing the sound of a mouse squeak.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-pEkiiiVSjtY/UQfoaquCHYI/AAAAAAAAChw/UFRKgmDJ3SE/s1600/798405_3697796702653_1546605942_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="426" src="http://4.bp.blogspot.com/-pEkiiiVSjtY/UQfoaquCHYI/AAAAAAAAChw/UFRKgmDJ3SE/s640/798405_3697796702653_1546605942_o.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;The table behind me was of a group of students. This jam site was sponsored by iACADEMY, a local college (actually the college I went to and subsequently dropped out from).&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;The students were kinda obnoxious. But it was likely a wrong first impression on my part.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;In retrospect, I should have introduced myself. But I was not in networking-for-business mode, I was in I-need-to-finish-this-game-in-48-hours mode.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;They were also understandably amateurish (well, they were still students)&lt;span style="text-align: -webkit-auto;"&gt;. I could overhear them having problems over the simplest things in the Unity game engine. I did my best to stop sighing out loud.&amp;nbsp;&lt;/span&gt;I kind-of wanted to help them, but I also needed to concentrate on my game.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;I didn't want to come off sounding like a showoff also,&amp;nbsp;&lt;/span&gt;&lt;span style="text-align: -webkit-auto;"&gt;considering I'm a one-man team competing in an otherwise roomful of teams who are mostly looking healthy in the members quantity section.&lt;/span&gt;&lt;br /&gt;&lt;span style="text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="text-align: -webkit-auto;"&gt;Marnielle Estrada was the only other one-man team in the jam afaik. Hats off to Marnielle for an awesome game! Check it out: &lt;a href="http://globalgamejam.org/2013/traversal"&gt;Traversal&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-sfxzYn0Lrl0/UQgNf-qpI-I/AAAAAAAACiE/EuA3iYeVzTw/s1600/798359_3697825063362_1566279813_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="426" src="http://3.bp.blogspot.com/-sfxzYn0Lrl0/UQgNf-qpI-I/AAAAAAAACiE/EuA3iYeVzTw/s640/798359_3697825063362_1566279813_o.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;Just being there working alone, I felt &lt;i&gt;I&lt;/i&gt; was being obnoxious.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="font-family: Tahoma;"&gt;It made me feel like kind-of insecure, and it probably did affect my productivity in some way.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;To their credit, that team behind me received the "Best Technology" award. This is their game:&amp;nbsp;&lt;a href="http://globalgamejam.org/2013/pound-pound-i-dont-want-diet"&gt;http://globalgamejam.org/2013/pound-pound-i-dont-want-diet&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;My ego is saying "Ha! One time I finished &lt;a href="http://forum.unity3d.com/threads/146232-Results-from-our-company-wide-mini-game-jam-Mecha-Fields"&gt;a multiplayer mecha game&lt;/a&gt; in under 10 hours". But well, now&amp;nbsp;&lt;i&gt;that&lt;/i&gt;, is being obnoxious.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-cUAcC67nwNM/UQgOaL6RbNI/AAAAAAAACic/TqzfkyYyuFQ/s1600/819172_3697755301618_175234415_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="426" src="http://3.bp.blogspot.com/-cUAcC67nwNM/UQgOaL6RbNI/AAAAAAAACic/TqzfkyYyuFQ/s640/819172_3697755301618_175234415_o.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;Back on the game.&lt;br /&gt;&lt;br /&gt;For some reason, I recalled this Unity game called &lt;a href="http://www.indiedb.com/games/silence-in-the-mist"&gt;&lt;i&gt;Silence in the Mist&lt;/i&gt;&lt;/a&gt;. A really, really beautiful looking game with minimalistic graphics.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-J0YuLa6RNZE/UQakjudZ4ZI/AAAAAAAACf0/mRYbjqUJUqE/s1600/23.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://1.bp.blogspot.com/-J0YuLa6RNZE/UQakjudZ4ZI/AAAAAAAACf0/mRYbjqUJUqE/s320/23.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-BMeSo9dfQmg/UQaklPivx6I/AAAAAAAACf8/CB1ob82pdYQ/s1600/20.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://2.bp.blogspot.com/-BMeSo9dfQmg/UQaklPivx6I/AAAAAAAACf8/CB1ob82pdYQ/s320/20.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-M2kv0-V3qJg/UQaklAJiV6I/AAAAAAAACgA/aRky3uIGosM/s1600/14.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="179" src="http://2.bp.blogspot.com/-M2kv0-V3qJg/UQaklAJiV6I/AAAAAAAACgA/aRky3uIGosM/s320/14.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Screenshots from &lt;i&gt;Silence in the Mist&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I thought I'd follow in its footsteps and make the world of the game similar to that.&lt;br /&gt;&lt;br /&gt;For some arbitrary reason, I thought of making the trees pulsate with life every time you emit a heartbeat near one. I just thought it made sense.&lt;br /&gt;&lt;br /&gt;So over time, I thought of the idea that your character went into this gray, lifeless world, and use his ability of emitting heartbeats to bring back life and color.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-R5CaBTc0nEc/UQam_5ijO2I/AAAAAAAACgY/e6RckDaIdfw/s1600/Screen+Shot+2013-01-27+at+3.31.54+PM.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-R5CaBTc0nEc/UQam_5ijO2I/AAAAAAAACgY/e6RckDaIdfw/s640/Screen+Shot+2013-01-27+at+3.31.54+PM.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;I only realized now, the trees look like cherry blossoms and the scenery reminds me of old Japanese films. The character is even wearing a straw hat, which I really put there on a whim, and didn't really have any significance.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-o0TIn4LrXc0/UQanDyPBsDI/AAAAAAAACgg/VhYQLhw-teM/s1600/Screen+Shot+2013-01-27+at+3.31.42+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-o0TIn4LrXc0/UQanDyPBsDI/AAAAAAAACgg/VhYQLhw-teM/s640/Screen+Shot+2013-01-27+at+3.31.42+PM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I, using the expression loosely, called it a day at 5 AM. I got my character walking, a camera system in place, and the pulsing heartbeat visuals.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;But what exactly do you do with the heartbeat ability you have?&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I was wrestling with the sound lock idea. How do you play sounds other than a heartbeat? I thought that your character would absorb other animals' sounds.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Your character's color would change to reflect it. Absorbing a meow sound from a blue cat would turn your character blue, absorbing a bark sound from a red dog would turn you red.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;How do you absorb and how do you release? It felt like it's veering away from the heartbeat theme.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;My internal brainstorming was going nowhere. So I slept.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I, being the free spirit I am who does not plan ahead, did not bring any means to sleep comfortably.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Get the spare t-shirts, bundle them up like a pillow on the floor, BAM. There's your bed. End of problem.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Even while trying to sleep I can hear people judging my choice of bedding.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Day 2&lt;/h2&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;By Saturday afternoon, I did the Barber's Knock puzzle, which took the whole day.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;It's that distinctive "tap-ta-ta-tap-tap tap tap" melody of knocking you probably already know.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-TxzcFkBzyms/UQYatPhtKHI/AAAAAAAACfY/nUrdEzbXRCw/s1600/Screen+Shot+2013-01-27+at+3.32.16+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-TxzcFkBzyms/UQYatPhtKHI/AAAAAAAACfY/nUrdEzbXRCw/s640/Screen+Shot+2013-01-27+at+3.32.16+PM.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;The reason why it's "Barber's Knock" is because I read in a novel that it was called that way. I didn't know it had a name.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Apparently, a lot of people too. I tried Googling for more info and the best I saw was only one forum post that was asking about it. Apparently it came from the phrase "shave and a haircut, two bits!"&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;No one got the reference though. I guess that makes the game hipster.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;In code, I used the &lt;a href="http://en.wikipedia.org/wiki/Observer_pattern"&gt;Listener/Observer design pattern&lt;/a&gt;, to let objects know of incoming heartbeats the player made. The objects are quite literally, listeners.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;By night I started on the sound locks, or rather, a sound gate. I just went with the standard idea I had, a cat blocking your path, wherein you need to play its opposing sound for it to stand aside.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GGGimFJPxAQ/UQYMuYg1WkI/AAAAAAAACdg/1H7ZneRGHRM/s1600/cat2d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="185" src="http://4.bp.blogspot.com/-GGGimFJPxAQ/UQYMuYg1WkI/AAAAAAAACdg/1H7ZneRGHRM/s640/cat2d.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I couldn't think of a really nice looking dog (his bark would be the "key") but I did see a really cute drawing of a small cat, so on a whim, I made a small cat whose meow opens the gate.&lt;br /&gt;&lt;br /&gt;I probably should have used a dog instead. A dog would have been easily associated with a cat, rather than a cat with another cat.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;My idea then, was that pulsing a heartbeat on an animal will bring it to life, which will then follow you around.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;After that, whenever you pulse heartbeats, your animal friend will meow or bark to the tune of the beat you did.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I had the sound gate working by 4 AM I think.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/--lYUXaXuTjo/UQYYQpKRuaI/AAAAAAAACew/k92WW85ROoQ/s1600/Screen+Shot+2013-01-27+at+3.32.43+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/--lYUXaXuTjo/UQYYQpKRuaI/AAAAAAAACew/k92WW85ROoQ/s640/Screen+Shot+2013-01-27+at+3.32.43+PM.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;I then turned my attention on the really glaring problem of what the whole place will be and how you will achieve your goal.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;So the goal was to bring the world back to life. My simple idea was to have a tower at the end of the level where you do something and a shining, blinding light you activate will finally brings things to life.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Something like that. &lt;i&gt;Journey &lt;/i&gt;had a mountain you went to, so I thought mine would be a tower.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-2HHUfuAyTJc/UQasr3eO1fI/AAAAAAAACg0/PIvtLV3Jgxg/s1600/nexus.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="340" src="http://3.bp.blogspot.com/-2HHUfuAyTJc/UQasr3eO1fI/AAAAAAAACg0/PIvtLV3Jgxg/s640/nexus.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="text-align: -webkit-auto;"&gt;My idea then was the player needs to search the place for three animals and bring them to the tower. With all of them there, the tower rumbles with some mechanism and activates a pillar of light of some sort, and the game ends.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;The three animals would be the cat, a wolf, and an owl.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Getting to the wolf would be puzzles based on driving away sheep with the use of the wolf's howl.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I thought of the standard see-saw puzzle where you need to put things at one end to tip the platform to where you want it, but it was kinda weird to explain it in story. Why would there be sheep in a see-saw platform anyway.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-XlDYd-I7SYY/UQYRCuKc6SI/AAAAAAAACd4/pnDDFSlhC48/s1600/wolf+see+saw.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="325" src="http://2.bp.blogspot.com/-XlDYd-I7SYY/UQYRCuKc6SI/AAAAAAAACd4/pnDDFSlhC48/s400/wolf+see+saw.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I also thought of raised platforms that act as levers. This is pretty standard puzzle fare on many 3d games.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I then thought of a &lt;i&gt;Sokoban &lt;/i&gt;style puzzle where you push flocks of sheep so you can find a way to the exit. I spent too much time on that when in the end I decided the see-saw platform was more intuitive.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bzARNrss6jI/UQYQcqIq_8I/AAAAAAAACdw/biK5Fzr8Q9o/s1600/sokoban+wolf.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="315" src="http://1.bp.blogspot.com/-bzARNrss6jI/UQYQcqIq_8I/AAAAAAAACdw/biK5Fzr8Q9o/s400/sokoban+wolf.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;All of the ideas were pretty generic puzzles that don't really take a lot of advantage of the sound mechanic, it was basically conforming the sound idea to already existing game ideas (i.e. the see-saw physics puzzle, switch-platforms, or the &lt;/span&gt;&lt;i style="text-align: -webkit-auto;"&gt;Sokoban &lt;/i&gt;&lt;span style="text-align: -webkit-auto;"&gt;puzzle).&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Then the owl was mainly on the idea of illuminating the darkness. It was a pretty standard puzzle: you walk on a platform of square tiles. There is usually only one path of tiles that are walkable but since it is pitch black, you can't tell which tile is a hole and which isn't.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;The idea then was to manipulate light so you can see the path, usually for a limited time, which then you had to commit to memory as you walk through the path in pitch black again.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;So I thought the owl, while having a hoot, will also illuminate the path with its eyes like a pair of spotlights.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;It was again, a pretty generic puzzle but I had little time left so I had to settle with that.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;It was already Sunday of something like 5 or 6 AM, and I had only settled on the concept of it.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-9yu0gRmR0nU/UQYR95ipLtI/AAAAAAAACeE/IX9YUGMd6w0/s1600/amrak+map.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="293" src="http://1.bp.blogspot.com/-9yu0gRmR0nU/UQYR95ipLtI/AAAAAAAACeE/IX9YUGMd6w0/s320/amrak+map.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;Things didn't look very good. I called it a day.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Day 3&lt;/h2&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;When I woke up at 10 AM or something, I thought, why don't I just sleep through the rest of it? I felt defeated.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Inside my head I can already hear the critics and the I-told-you-so's. I can already imagine my friends berating me.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Somehow I felt that I had to prove to myself that I was better than that. There are people whose greatest critics are their own selves.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I knew I had to drop&amp;nbsp;&lt;strike&gt;some&lt;/strike&gt;&amp;nbsp;a lot of features. That much was clear. (That's also how it goes in work when the reality of deadlines loom on your face.)&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;So in the end, I just made the tower and basically when you went inside it, the game ends.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-m77ohHKCGNM/UQgNvhzi0-I/AAAAAAAACiM/J7Hooo2qOsA/s1600/842881_3697816263142_1550787366_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="426" src="http://3.bp.blogspot.com/-m77ohHKCGNM/UQgNvhzi0-I/AAAAAAAACiM/J7Hooo2qOsA/s640/842881_3697816263142_1550787366_o.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-KGnDrW1wRDo/UQazOgo6q7I/AAAAAAAAChI/7PY2x4JKiyU/s1600/Nexus+screenshot.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="550" src="http://4.bp.blogspot.com/-KGnDrW1wRDo/UQazOgo6q7I/AAAAAAAAChI/7PY2x4JKiyU/s640/Nexus+screenshot.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="text-align: -webkit-auto;"&gt;But I couldn't resist adding another puzzle so I put in a big fire bowl inside that you had to activate by sending continual heartbeats. Doing it enough would cause the whole tower to gain color and, at its peak, some flash of light would activate whatever power was sleeping in that tower.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; font-family: 'Times New Roman'; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-U5IBG91qDsA/UQYX1HxNp7I/AAAAAAAACeo/eDgFjxZpBYo/s1600/Screen+Shot+2013-01-27+at+3.33.33+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-U5IBG91qDsA/UQYX1HxNp7I/AAAAAAAACeo/eDgFjxZpBYo/s640/Screen+Shot+2013-01-27+at+3.33.33+PM.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Results&lt;/h2&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Play tests proved that the game sorely needs a tutorial level. I purposefully decided against a help/instructions screen explaining the finer details because I want the game to naturally teach you as you play.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;It seems to me people don't want to bother reading walls of text instructions anyway.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Unfortunately I wasn't able to deliver that "natural teaching" part. In this regard, I consider my game in its current state then to be a definite failure.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Maybe I should have made a tutorial level instead of the ending?&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-SvmVRa9byO0/UQWC48yDA7I/AAAAAAAACdA/ERkmU8i3Wj8/s1600/Amrak_2013-01-28_03-40-22.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="247" src="http://1.bp.blogspot.com/-SvmVRa9byO0/UQWC48yDA7I/AAAAAAAACdA/ERkmU8i3Wj8/s320/Amrak_2013-01-28_03-40-22.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Yes, this was my genius plan to compensate for the lack of content. I got quite a few laughs from the audience at this, so it was probably worth it.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;I also realized not everyone is keen on the rhythm puzzles (i.e. the speed of the heartbeat, the Barber's knock puzzle), so it was something I wanted to revise.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;I probably could have seen it coming if I had people play-testing the game early and often. I had totally disregarded the "inspect and adapt" mantra of Scrum.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4u_WqSnpV7c/UQYa3WHgZ8I/AAAAAAAACfg/IpJ7oNUu58w/s1600/20130125_234556.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-4u_WqSnpV7c/UQYa3WHgZ8I/AAAAAAAACfg/IpJ7oNUu58w/s400/20130125_234556.jpg" width="300" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Someone actually had mistaken me for a student. Haha, seriously? How old do you think I am from this image?&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;Unexpectedly, I was awarded "Best Art" for the game.&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-IrCfnGs2lik/UQV-y26doDI/AAAAAAAACcg/D7vmOyw2THY/s1600/20130127_194607.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="360" src="http://1.bp.blogspot.com/-IrCfnGs2lik/UQV-y26doDI/AAAAAAAACcg/D7vmOyw2THY/s640/20130127_194607.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;I guess they liked the cats.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-OS7saP9UfCU/UQgN_yyhTZI/AAAAAAAACiU/XyBaOLVgP6U/s1600/841168_3697846503898_1919832114_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="426" src="http://4.bp.blogspot.com/-OS7saP9UfCU/UQgN_yyhTZI/AAAAAAAACiU/XyBaOLVgP6U/s640/841168_3697846503898_1919832114_o.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Tahoma; text-align: -webkit-auto;"&gt;So that was my&amp;nbsp;first Global Game Jam&amp;nbsp;experience. Expect me in all future Global Game Jams as well! I'll make sure to take more photos next time.&lt;br /&gt;&lt;br /&gt;Check out my game in the Global Gam Jam website:&amp;nbsp;&lt;a href="http://globalgamejam.org/2013/project-amrak"&gt;http://globalgamejam.org/2013/project-amrak&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/KROD9pie8yE" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/7407889037092317768/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2013/01/global-game-jam-2013.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/7407889037092317768" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/7407889037092317768" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/KROD9pie8yE/global-game-jam-2013.html" title="Global Game Jam 2013" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-3W8mjOcccZw/UQYSZ6ZLdqI/AAAAAAAACeU/JVHS4NhhYOc/s72-c/20130127_194607.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2013/01/global-game-jam-2013.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-7150109388392504539</id><published>2012-11-29T09:18:00.001+08:00</published><updated>2012-11-29T09:19:17.918+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blender" /><category scheme="http://www.blogger.com/atom/ns#" term="Unity" /><category scheme="http://www.blogger.com/atom/ns#" term="Victis" /><title type="text">Battle Maiden Part 2</title><content type="html">&lt;h2&gt;Day 2: Saturday&lt;/h2&gt;Fixed shoulder joint twisting.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-JYxoOcH4JsM/ULazjUdzzwI/AAAAAAAAB7I/s0XEyQ9GFbI/s1600/Screen+Shot+2012-11-24+at+8.02.56+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://1.bp.blogspot.com/-JYxoOcH4JsM/ULazjUdzzwI/AAAAAAAAB7I/s0XEyQ9GFbI/s400/Screen+Shot+2012-11-24+at+8.02.56+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Had to leave early because like mentioned, it suddenly turned out to be cleaning day.&lt;br /&gt;&lt;br /&gt;It turns out Saturday was also when the meetup for the Game On! Philippines 2012, a game development competition for students. Me being one of the mentors for the participants, and that day was when the participants would meet with the organizers to show progress on their game, I attended the meeting to talk with the participants.&lt;br /&gt;&lt;br /&gt;I'll talk about that some other time, but long story short, I wasn't able to do much progress on day 2. &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Day 3: Sunday&lt;/h2&gt;Got things set up back at home. It's kinda hard to get back to the rhythm since the 48 hour hackathon didn't push through.&lt;br /&gt;&lt;br /&gt;Suddenly I'm having crash problems with my Unity.&lt;br /&gt;&lt;br /&gt;Every time I click "Apply" on changed prefab settings, there seems to be a 2 out of 3 chance that Unity will crash.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-VPHl1UNgG5E/ULXQA2ypaKI/AAAAAAAAB6A/xR9NZFIG1E8/s1600/_2012-11-25_10-35-11+crash.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-VPHl1UNgG5E/ULXQA2ypaKI/AAAAAAAAB6A/xR9NZFIG1E8/s400/_2012-11-25_10-35-11+crash.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I guess it's because I'm using an old version, 3.5.5f2. So I tried finding 3.5.6, the latest one in the 3.x versions. &lt;br /&gt;&lt;br /&gt;The official Unity site, for some reason, doesn't show the links to older versions of Unity. Since Unity 4 is out, this means there's no links to any 3.x versions. &lt;br /&gt;&lt;br /&gt;I had to find it from the forums, and even the site had problems. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-FHQKYEE1-IA/ULXOwXP_nrI/AAAAAAAAB54/T2anSFb3p7c/s1600/_2012-11-25_10-27-48+site.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-FHQKYEE1-IA/ULXOwXP_nrI/AAAAAAAAB54/T2anSFb3p7c/s400/_2012-11-25_10-27-48+site.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Dark forces are at play here. &lt;br /&gt;&lt;br /&gt;When I finally got to it, the download is slow, as expected. Oh Asian Internet, you so crazy. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-oOTh9xBD2WI/ULa1kSWRjoI/AAAAAAAAB7Q/tCjrGNnh5qA/s1600/_2012-11-25_11-03-16+dl+sl.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-oOTh9xBD2WI/ULa1kSWRjoI/AAAAAAAAB7Q/tCjrGNnh5qA/s400/_2012-11-25_11-03-16+dl+sl.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;It would have been nice to just press Ctrl+S in the Unity editor and be assured that everything was saved in case a crash happens again. &lt;br /&gt;&lt;br /&gt;Unfortunately, this isn't the case. When you change settings in prefabs, or GUI skins, or ScriptableObject files for example, Unity holds off saving the changes to the disk until you quit Unity. So I find myself closing and opening Unity after every significant change I make. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-jJIa856rIxY/ULXQ0AUsTQI/AAAAAAAAB6Q/ssibx8JMKiU/s1600/_2012-11-25_14-19-25+crashes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-jJIa856rIxY/ULXQ0AUsTQI/AAAAAAAAB6Q/ssibx8JMKiU/s400/_2012-11-25_14-19-25+crashes.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Meanwhile, I got the Locomotion system working a little more smoother and I got to test the player model in the game. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/k5L_HAtEqjw/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/k5L_HAtEqjw?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/k5L_HAtEqjw?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="p1"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="p1"&gt;Times like these I wish we had motion capture studios. I heard you can use a Kinect as a low-cost makeshift motion capture device.&lt;/div&gt;&lt;div class="p1"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Day 4: Monday&lt;/h2&gt;Have I mentioned that I go to the office only when I feel like it? Yeah, so Monday will be devoted to finishing this, because I say so.  &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Day 5: Tuesday&lt;/h2&gt;Have I mentioned I rarely ever get any work done while at home? Yeah, so I slept all day long yesterday. But I was able to test attack animations today.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/V4lu3kzgCzw?feature=player_embedded' frameborder='0' /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-WJJUZz3oTB0/ULa2m5fKF-I/AAAAAAAAB7Y/Z0piYMNhJ04/s1600/_2012-11-28_00-51-52+attack.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-WJJUZz3oTB0/ULa2m5fKF-I/AAAAAAAAB7Y/Z0piYMNhJ04/s320/_2012-11-28_00-51-52+attack.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-kmeOBSOPfiA/ULa2yFnIQuI/AAAAAAAAB7g/63-Us_amOyY/s1600/_2012-11-28_01-19-56+pose.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-kmeOBSOPfiA/ULa2yFnIQuI/AAAAAAAAB7g/63-Us_amOyY/s320/_2012-11-28_01-19-56+pose.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Also, seems like the version update for Unity got rid of the crashes.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Day 6: Wednesday&lt;/h2&gt;I did a few thumbnail sketches so I wouldn't forget what animations I wanted to do. I should've done this earlier. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-lCEtN_bpbv4/ULXOgqNO1JI/AAAAAAAAB5w/mJvU0TApSbo/s1600/MyPaint+-+SerinAnimationThumbnails.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="201" src="http://4.bp.blogspot.com/-lCEtN_bpbv4/ULXOgqNO1JI/AAAAAAAAB5w/mJvU0TApSbo/s400/MyPaint+-+SerinAnimationThumbnails.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Right now the game is sort of on-hold as Wednesday is usually the time I go to the office.&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/OAxrC_DC-Jg" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/7150109388392504539/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2012/11/battle-maiden-part-2.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/7150109388392504539" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/7150109388392504539" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/OAxrC_DC-Jg/battle-maiden-part-2.html" title="Battle Maiden Part 2" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-JYxoOcH4JsM/ULazjUdzzwI/AAAAAAAAB7I/s0XEyQ9GFbI/s72-c/Screen+Shot+2012-11-24+at+8.02.56+AM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2012/11/battle-maiden-part-2.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-1548703973065294043</id><published>2012-11-28T17:33:00.000+08:00</published><updated>2012-11-28T17:44:58.640+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blender" /><category scheme="http://www.blogger.com/atom/ns#" term="Unity" /><category scheme="http://www.blogger.com/atom/ns#" term="Victis" /><title type="text">Battle Maiden Part 1</title><content type="html">In the small game development studio I work in, I wanted to have what we ended up calling "Free Fridays": Every first Friday of the month, everyone stops doing work for clients and make personal projects. At the end of the day, you show your work to everyone.&lt;br /&gt;&lt;br /&gt; This was an excuse to find the time to do crazy ideas that we get every now and then. &lt;br /&gt;&lt;br /&gt; One such idea came to me when I was about to sleep, I just thought all of a sudden "Damn it, I want to play Assassin's Creed style combat right now on my Android tablet."&lt;br /&gt;&lt;br /&gt; I thought, yeah that could work. I actually like the easier, free flow approach in Batman: Arkham Asylum. Batman can dart from one end of the arena to the next so easily, hitting opponents here and there.&lt;br /&gt;&lt;br /&gt; &lt;h2&gt;H-Here We Go&lt;/h2&gt;&lt;br /&gt;  So when our Operations Director mentioned we forgot to do Free Fridays again for this month, I thought I'd do that idea.&lt;br /&gt;&lt;br /&gt; I also requested that Free Friday be lengthened to 48 hours (up to Saturday), since the idea I had was a lot of work. Game jams are mostly 48 hours anyway.&lt;br /&gt;&lt;br /&gt; Even with the extended duration, I knew I had to cheat a little. I'm only one guy doing both code and art so 48 hours was probably still not enough.&lt;br /&gt;&lt;br /&gt; &lt;h2&gt;Day 0: Wednesday-Thursday&lt;/h2&gt;&lt;br /&gt;  I stole some time from work to prepare the 3d models I'd use. For the enemy I used the soldier model I already made from before.  &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-HkLydPvGB9A/ULXJtnwNhlI/AAAAAAAAB5I/vshSf7ElwN8/s1600/_2012-11-25_12-41-36+soldier.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-HkLydPvGB9A/ULXJtnwNhlI/AAAAAAAAB5I/vshSf7ElwN8/s400/_2012-11-25_12-41-36+soldier.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;  For the player, I used MakeHuman to create a base mesh, then added hair and clothes in Blender.&lt;br /&gt;&lt;br /&gt; I did this with the understanding that I'm making a throwaway model just so I can finish this as soon as possible. While her face shouldn't be anime like my old sketches, it shouldn't be the one that MakeHuman comes with either. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-EZGYR-LxbMo/ULXL7zb0ORI/AAAAAAAAB5Q/6fP4I27ioqI/s1600/_2012-11-25_12-38-34+serin+model.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-EZGYR-LxbMo/ULXL7zb0ORI/AAAAAAAAB5Q/6fP4I27ioqI/s400/_2012-11-25_12-38-34+serin+model.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;  I downloaded a bunch of Assassin's Creed 2 and Batman Arkham Asylum YouTube videos for reference. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1CxSZCKMjJE/ULXNBDe_SuI/AAAAAAAAB5Y/hgxSFqUTbg0/s1600/Screen+Shot+2012-11-24+at+8.02.56+AM+(2).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://1.bp.blogspot.com/-1CxSZCKMjJE/ULXNBDe_SuI/AAAAAAAAB5Y/hgxSFqUTbg0/s400/Screen+Shot+2012-11-24+at+8.02.56+AM+(2).png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;  The idea was that we'd start at 00:00 of Friday and end at 23:59 of Saturday, to really squeeze the 48 hours. It wouldn't be wise to extend to Sunday, and the higher-ups didn't want us to start earlier than Friday.&lt;br /&gt;&lt;br /&gt; So by about 1 AM of Friday, I was still preparing the player 3d model. I had a headache and felt like vomiting (as always when I stay too long in the office), so I had to sleep it out.&lt;br /&gt;&lt;br /&gt; &lt;h2&gt;Day 1: Friday&lt;/h2&gt;&lt;br /&gt;  By morning I was ready to tackle it on.&lt;br /&gt;&lt;br /&gt; This was my first draft for the ideas.  &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-GbNPfo4CUuQ/ULXOOA8OCEI/AAAAAAAAB5g/wzCnvwDJetE/s1600/draft.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="367" src="http://2.bp.blogspot.com/-GbNPfo4CUuQ/ULXOOA8OCEI/AAAAAAAAB5g/wzCnvwDJetE/s400/draft.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt; I thought I'd try Unity 4 with all its fancy new animation systems with the blend tree. Hopefully that would make my work easier.&lt;br /&gt;&lt;br /&gt; As I tried getting myself accustomed to the GUI changes in Unity 4, this happens.  &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-wNvl2YESHfg/ULXWWxPLQLI/AAAAAAAAB6g/O7kpxaofi-w/s1600/2012-11-23-at-7.02.10-AM-u4-crash.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-wNvl2YESHfg/ULXWWxPLQLI/AAAAAAAAB6g/O7kpxaofi-w/s640/2012-11-23-at-7.02.10-AM-u4-crash.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; I can't rely on a tool that crashes, given that I have a tight deadline for this, so off I went back to Unity 3.  &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-OEFBFiLUwAM/ULXXB8mnn1I/AAAAAAAAB6o/wFV-W6_p8J4/s1600/Screen+Shot+2012-11-23+at+8.47.47+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://2.bp.blogspot.com/-OEFBFiLUwAM/ULXXB8mnn1I/AAAAAAAAB6o/wFV-W6_p8J4/s400/Screen+Shot+2012-11-23+at+8.47.47+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;  These were my first few tests:&lt;br /&gt;&lt;br /&gt; I wanted a way for the enemies to figure out the path to get to the player's backside. I also wanted them to move in an encircling fashion. So I made a simple waypoint system to track the player's front, back, left, and right sides. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/ELIEYGH3cmM?feature=player_embedded' frameborder='0' /&gt;&lt;/div&gt;  &lt;br /&gt;&lt;br /&gt; Next I had the enemies actually follow that path. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/v7LGNlz3epk?feature=player_embedded' frameborder='0' /&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;  By afternoon, I swapped in the enemy 3d model. I used Rune Johansen's Locomotion System to make the walk animations look better. Props to Rune! &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/d3uitdJZQuQ?feature=player_embedded' frameborder='0' /&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;  Unfortunately we were suddenly told that Saturday can't be used anymore because the office will be cleaned. I guess I just have to take my work home or something.&lt;br /&gt;&lt;br /&gt; To tell the truth though, not a lot of people in the office was taking Free Friday very seriously. Some understandably still had deadlines to meet and some were just playing videogames.&lt;br /&gt;&lt;br /&gt; I actually still needed to fix the player 3d model. It wasn't even rigged/skinned yet, so I ended up taking too much time there.&lt;br /&gt;&lt;br /&gt; I wanted a lot of fancy physics effects on the player. The skirt and ponytail should sway, and her boobs should *ahem* move naturally.&lt;br /&gt;&lt;br /&gt; For cloth swaying, Unity has the built-in Skinned Cloth component for that and it works as expected. The interface to configure it isn't exactly great, but it works as advertised. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-deeKPY2ByXw/ULXQQG5nirI/AAAAAAAAB6I/7D7AcrtHOEM/s1600/_2012-11-25_12-45-39+skirt.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-deeKPY2ByXw/ULXQQG5nirI/AAAAAAAAB6I/7D7AcrtHOEM/s400/_2012-11-25_12-45-39+skirt.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;  Doing the same thing for the ponytail would be overkill, and besides, it should move more like linked pieces of elongated chains than like a strip of cloth anyway.&lt;br /&gt;&lt;br /&gt; I found a link in reddit that explains a simple trick, just use rigidbodies with joints on them and add some swaying motion: &lt;a href="http://www.farfarer.com/blog/2011/07/07/unity-skeletal-ragdoll-jiggle-bones-tutorial/"&gt;http://www.farfarer.com/blog/2011/07/07/unity-skeletal-ragdoll-jiggle-bones-tutorial/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; The only problem was that the tutorial needed me to configure my 3d modeling software to specifically disable keyframe animation on the bones that need to jiggle. Unfortunately, no such option exists in Blender, so I just did something quick to fix it.&lt;br /&gt;&lt;br /&gt; I made a script in Unity that detaches the ponytail's bone from the skeleton then reattach it again quickly. This would cause it to stop being moved by the skeleton's animations, while still being connected to it.&lt;br /&gt;&lt;br /&gt; For the boobs, the wiki site has something just for that:&amp;nbsp;&lt;a href="http://www.unifycommunity.com/wiki/index.php?title=JiggleBone"&gt;http://www.unifycommunity.com/wiki/index.php?title=JiggleBone&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; The code for that needed some cleaning up and it didn't seem to work reliably at all for a 3d model created in Blender, so I took some time to fix it.&lt;br /&gt;&lt;br /&gt; The day ended with me staring at bouncing boobs.  &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/RoVFEqVHnQU?feature=player_embedded' frameborder='0' /&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-AcwJAUWBp3U/ULXX96dig_I/AAAAAAAAB6w/Rz9Fv4MlDk0/s1600/beautiful.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-AcwJAUWBp3U/ULXX96dig_I/AAAAAAAAB6w/Rz9Fv4MlDk0/s320/beautiful.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt; While I feel a little stupid for doing this, I made pretty sure the physics don't go so far as this: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-apuuHIvfQwU/ULXYeUDaTfI/AAAAAAAAB64/fbyOT6f97lk/s1600/1285846100167.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-apuuHIvfQwU/ULXYeUDaTfI/AAAAAAAAB64/fbyOT6f97lk/s1600/1285846100167.gif" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;  Damn, I haven't even added combat yet.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/gd2299KBFiM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/1548703973065294043/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2012/11/battle-maiden-part-1.html#comment-form" title="30 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/1548703973065294043" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/1548703973065294043" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/gd2299KBFiM/battle-maiden-part-1.html" title="Battle Maiden Part 1" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-HkLydPvGB9A/ULXJtnwNhlI/AAAAAAAAB5I/vshSf7ElwN8/s72-c/_2012-11-25_12-41-36+soldier.png" height="72" width="72" /><thr:total>30</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2012/11/battle-maiden-part-1.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-4802950707526727123</id><published>2012-10-27T00:36:00.000+08:00</published><updated>2012-10-27T09:52:00.589+08:00</updated><title type="text">Combat-esque conversations?!?</title><content type="html">So, to open my argument, here it is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;What if you could take the idea of a combat system, and use it for your NPC conversation system?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We all know dialogue trees are a drab workaround to letting a game's main character partake in conversations with the game's make-believe world.&lt;br /&gt;&lt;br /&gt;Aren't you sick of that? Can we try to find a way around that somehow? Isn't it worthwhile at least to experiment, see if there is indeed some better way?&lt;br /&gt;&lt;br /&gt;Craig Stern has this to say about dialogue trees in &lt;a href="http://sinisterdesign.net/?p=1747"&gt;his article&lt;/a&gt;:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;...This emergent quality makes combat a tempting choice to form the backbone of a cRPG, since it offers a much higher ratio of entertaining possibilities relative to development time spent than a more static system (such as, say, dialogue trees) would.&lt;/i&gt;&lt;/blockquote&gt;That was actually what led me to think about this whole idea in the first place.&lt;br /&gt;&lt;br /&gt;If combat systems were designed to be so emergent (you can explore so many decisions and tactics) while only an economic amount of programming is required, why can't we try the same idea for conversations?&lt;br /&gt;&lt;br /&gt;So how is it going to be? For starters, we can take this:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-C5PWXe_08_M/UIqc6n_pMFI/AAAAAAAAB04/UdLF1h7lAhM/s1600/combat.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-C5PWXe_08_M/UIqc6n_pMFI/AAAAAAAAB04/UdLF1h7lAhM/s1600/combat.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;and turn it into this:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-OcYchT725uM/UIqdI5b2UKI/AAAAAAAAB1I/o6pS3-4sgYI/s1600/conversation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-OcYchT725uM/UIqdI5b2UKI/AAAAAAAAB1I/o6pS3-4sgYI/s1600/conversation.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Its a very superficial take, but you get the idea, don't you?&lt;br /&gt;&lt;br /&gt;When you choose "Attack", you see your character swing his sword and the enemy takes a hit. Then the enemy takes his/her turn.&lt;br /&gt;&lt;br /&gt;When you choose "Insult", you perhaps would hear your character say a pre-recorded line of (insulting) dialogue, chosen partly in context and partly in random. And you'd see the expression on the other person's face, and see/hear his/her reaction.&lt;br /&gt;&lt;br /&gt;I'm not proposing some sort of procedurally generated lines of dialogue. I certainly don't think our best technology so far can do it reliably.&lt;br /&gt;&lt;br /&gt;What I'm thinking is scripts will still be made, its just that instead of choosing exact lines to say, the player "macromanages" the conversation.&lt;br /&gt;&lt;br /&gt;Looking at that, its not such a radical idea, really. Many games experimented with this style before.&lt;br /&gt;&lt;br /&gt;In &lt;i&gt;Indigo Prophecy&lt;/i&gt;, instead of choosing specific lines of dialogue to say, you choose some topic, and your character automatically shifts the conversation to go there.&lt;br /&gt;&lt;br /&gt;Same goes for &lt;i&gt;Mass Effect&lt;/i&gt; to an extent.&lt;br /&gt;&lt;br /&gt;Update: A whole list of other games with similar ideas &lt;a href="http://www.reddit.com/r/gamedev/comments/124qtq/what_if_you_could_take_the_idea_of_a_combat/"&gt;by reddit&lt;/a&gt; include: Monkey Island's Insult Sword Fighting, Leisure Suit Larry, Deus Ex: Human Revolution.&lt;br /&gt;&lt;br /&gt;But instead of choosing contextual topics at hand, what I want to see is a fleshed out system with rules akin to combat and everything that supports it: the importance of movement, targeting, stats, skills, perks and whatnot-- but for dialogue.&lt;br /&gt;&lt;br /&gt;Skills and perks... all of &lt;i&gt;that &lt;/i&gt;sounds overkill for a conversation system. But its worthwhile to study if some things can be translated here.&lt;br /&gt;&lt;br /&gt;Interrogations in&lt;i&gt;&amp;nbsp;L.A. Noire&lt;/i&gt;&amp;nbsp;comes very close to what I'm getting to.&lt;br /&gt;&lt;br /&gt;Here was another impetus for me to&amp;nbsp;jump-start&amp;nbsp;the idea. Tonio Barmadosa has this to say about behavioral game design in &lt;a href="http://www.gamasutra.com/view/feature/131494/behavioral_game_design.php"&gt;this article&lt;/a&gt;:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;Very interesting indeed. I can't help but draw an analogy with a totally different field, called Pickup Artistry. Pickup artists pick up hot babes in night clubs using methods from Behavioral Psychology. They push a girl's psychological buttons in order to create attraction, qualification, comfort and eventually seduction.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;i&gt;They use the exact same techniques, for example, being unpredictable and pushing and pulling all the time, which is equivalent to variable ratio reward / punishment.&lt;/i&gt;&lt;/blockquote&gt;We're getting somewhere here aren't we? "Picking up" can be thought of as a game. But one thing to note here is that you are not the player anymore, at least not purely. You also partake the role of umpire. You hand out the rewards to the player (i.e. the hot babe/guy) when you deem so. You make the player feel like s/he worked hard for something.&lt;br /&gt;&lt;br /&gt;This is, of course, for seduction, but I think we can work out how it plays for other goals.&lt;br /&gt;&lt;br /&gt;Goals for why we "talk" to NPCs may include:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;To get useful information&lt;sup&gt;1&lt;/sup&gt;&lt;/li&gt;&lt;li&gt;To get useful feedback (as in suggestions, criticisms)&lt;/li&gt;&lt;li&gt;To progress in the story, main storyline or otherwise&lt;/li&gt;&lt;li&gt;For romance, as noted earlier&lt;/li&gt;&lt;li&gt;To coerce, persuade, or fool them for your advantage (bribes, taunts)&lt;/li&gt;&lt;li&gt;etc.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;[1]: And this can even be while in a hostile environment. Black Widow's first scene in the recent Avengers movie, is where she fakes naïveté while actually collecting information from the enemy.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let's see all of our tools at hand in a combat system.&lt;br /&gt;&lt;br /&gt;In a combat system, the very first thing you want is a way to &lt;b&gt;assess the enemy&lt;/b&gt; and the surroundings.&lt;br /&gt;&lt;br /&gt;Practically, this means a health bar, maybe a grid to see how far they are, fog-of-war, etc.&lt;br /&gt;&lt;br /&gt;In a conversation, maybe you can have a hostility/friendliness meter on your NPCs. Maybe even an irritability meter, or a boredom meter akin to &lt;i&gt;The Sims&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Your high-level options then fall somewhere along these lines:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Inspection: assess the enemy&lt;/li&gt;&lt;li&gt;Aggression: extinguish the enemy (attack)&lt;/li&gt;&lt;li&gt;Conservation: survive/outlive the enemy (heal/defend)&lt;/li&gt;&lt;li&gt;Subversion: weaken the enemy from within (poison, slow, etc.)&lt;/li&gt;&lt;li&gt;Augmentation: strengthen yourselves (buffs)&lt;/li&gt;&lt;li&gt;Concession: surrender, truce, agreement, etc. (forfeit, load game, etc.)&lt;/li&gt;&lt;/ol&gt;This is all well and good, but how does "extinguish&amp;nbsp;the enemy" translate to "find out why he's hiding from the bandits" for example?&lt;br /&gt;&lt;br /&gt;Let's say that's our "victory condition".&lt;br /&gt;&lt;br /&gt;For a goal of&amp;nbsp;"find out why he's hiding", the enemy is not "he", it's his reluctance to say his reason for hiding.&lt;br /&gt;&lt;br /&gt;These could be some examples of how it would pan out:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Inspection: asking questions&lt;/li&gt;&lt;li&gt;Aggression: pressuring, convincing the person&lt;/li&gt;&lt;li&gt;Conservation: defending your argument&lt;/li&gt;&lt;li&gt;Subversion: intimidating, lying&lt;/li&gt;&lt;li&gt;Augmentation:&amp;nbsp;make yourself sound credible&lt;/li&gt;&lt;li&gt;Concession: bribery, bargaining with the person&lt;/li&gt;&lt;/ol&gt;Again, these are high-level examples. In the same way that saying "attack" in combat can be done in a multitude of ways, the act of convincing or intimidating would also be achievable in several ways.&lt;br /&gt;&lt;br /&gt;I'm particularly interested in how spatial movement of combat can be translated to a conversation system. Perhaps that can represent the topic of conversation?&lt;br /&gt;&lt;br /&gt;The same way attacking the rear of an enemy can deal critical damage, perhaps pushing the topic of conversation to something the person is uneasy with will make your persuasions "deal critical damage".&lt;br /&gt;&lt;br /&gt;Even with having these commands and "movement" options, I think the end result of the player inputting such commands should still show two guys talking, complete with dialogue text, and prerecorded lines of dialogue if need be.&lt;br /&gt;&lt;br /&gt;In this manner you could say in the end this is actually more complex than a simple dialogue tree system. It is, but imagine how this could change your game&amp;nbsp;(I'm actually content with just text dialogue, but having audio dialogue will definitely make it harder).&lt;br /&gt;&lt;br /&gt;If the player is losing, he'd usually just load a saved game, but what if he can bargain with his enemy?&lt;br /&gt;&lt;br /&gt;What if the player can talk to a merchant to drop his guard or distract him?&lt;br /&gt;&lt;br /&gt;It can open up more emergent possibilities.&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/empnVHEtjdM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/4802950707526727123/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2012/10/combat-esque-conversations.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/4802950707526727123" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/4802950707526727123" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/empnVHEtjdM/combat-esque-conversations.html" title="Combat-esque conversations?!?" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-C5PWXe_08_M/UIqc6n_pMFI/AAAAAAAAB04/UdLF1h7lAhM/s72-c/combat.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2012/10/combat-esque-conversations.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-5509920412671643953</id><published>2012-10-15T09:32:00.000+08:00</published><updated>2012-10-20T08:44:57.769+08:00</updated><title type="text">Unity Game Jam Manila 2012 Part 3</title><content type="html">On the final day, things started to get hectic. As the staff needed to go to the associated event to give a talk about game development, Charles and I found ourselves having to man the game jam (I couldn't find the&amp;nbsp;marshals&amp;nbsp;for a time, they probably needed to be elsewhere too!).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-a0IiZYlAoKE/UHpCpI8EBOI/AAAAAAAABsc/AIAnA_GUz9U/s1600/IMG_20121013_114534.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-a0IiZYlAoKE/UHpCpI8EBOI/AAAAAAAABsc/AIAnA_GUz9U/s400/IMG_20121013_114534.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We needed to facilitate getting the participant's builds into the officially designated machine to be used to demonstrate the game during judging. We needed them to submit their builds, let them test it on the machine, and make sure they don't do something horrible like delete the other teams' folders.&lt;br /&gt;&lt;br /&gt;Then Charles said he needed to assist some guests from the industry looking at the game jam, and I was left to man the machine (see what I did there?).&lt;br /&gt;&lt;br /&gt;Occasionally manhandling the mic to nag them about the deadline, I was checking off which teams have submitted at least one build.&lt;br /&gt;&lt;br /&gt;Some cut it close to just 10-20 minutes before the 5pm deadline (I'm not actually sure if it was an exact 48-hour jam).&lt;br /&gt;&lt;br /&gt;And there was even one who, get this: she only attended the first day, then left for home, did the jam by herself in her house, then came up like 20 minutes from the deadline asking to get submitted.&lt;br /&gt;&lt;br /&gt;As facilitator, Brett was a nice guy and let her submit for presentation, but it was up to the judges if she was eligible for the prizes.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-MCqBfTKXVDg/UHpEoJ4xkaI/AAAAAAAABtY/nkoQW-nJaqM/s1600/IMG_20121013_064456.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-MCqBfTKXVDg/UHpEoJ4xkaI/AAAAAAAABtY/nkoQW-nJaqM/s400/IMG_20121013_064456.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Paul Gadi of IGDA Manila came by the jam venue and went just as fast. Apparently he was on short notice.&lt;br /&gt;&lt;br /&gt;Then a guy gave me a scoring sheet and said, "You're going to be a judge. Paul Gadi couldn't make it to the judging so you'll stand in as the IGDA representative."&lt;br /&gt;&lt;br /&gt;Haha. Oh wow.&lt;br /&gt;&lt;br /&gt;Thankfully, all teams were able to submit before the deadline.&lt;br /&gt;&lt;br /&gt;I would have loved to post screenshots of each game made but I don't have them.&lt;br /&gt;&lt;br /&gt;And so after presenting the games, and us two mentors presenting our games too, I had to go and judge.&lt;br /&gt;&lt;br /&gt;There were immediately three games that stood out to me:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;h3&gt;Prologue: Primitive Life&lt;/h3&gt;&lt;div&gt;Pretty unusual game. You see a planet in XCOM geoscape style, and your goal is to fling asteroids at the right position and moment to start the seeds of primordial life.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;Crystal Boom&lt;/h3&gt;&lt;div&gt;A shooter reminiscent of &lt;a href="http://en.wikipedia.org/wiki/Clean_Asia!"&gt;Clean Asia&lt;/a&gt;&amp;nbsp;(the&amp;nbsp;Attractor ship)&amp;nbsp;and &lt;a href="http://www.the2bears.com/?p=625"&gt;Gradle Unison&lt;/a&gt;, you dash to attack instead of shooting bullets. I'm a big fan of these games. As a cool bonus, your super attack is you can set arbitrary&amp;nbsp;way-points&amp;nbsp;and your ship will dash to all of them instantaneously.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Silhouettes&lt;/h3&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-A42P3VerwEw/UIEN9l_H8nI/AAAAAAAABxk/A6s1FFXElrw/s1600/silhouettes1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-A42P3VerwEw/UIEN9l_H8nI/AAAAAAAABxk/A6s1FFXElrw/s320/silhouettes1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These guys went for a safe bet and made a side-scroller of the popular running-man subgenre (i.e. &lt;a href="http://adamatomic.com/canabalt/"&gt;Canabalt&lt;/a&gt; clone) but it was an interesting take in that you need a light source to see where you're going. You need to collect glowing spheres to charge up your light, so in addition to avoiding obstacles, catching lights is very important.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Playable Web Build: &lt;a href="http://dl.dropbox.com/u/80881529/Silhouettes.htm"&gt;http://dl.dropbox.com/u/80881529/Silhouettes.htm&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;br /&gt;I am going to share my personal opinions here:  &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Prologue: Primitive Life&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Pros:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Has a good amount of challenge, testing your aim and ability to time your shots.&lt;/li&gt;&lt;li&gt;Impressive graphics for something done in 2 days.&lt;/li&gt;&lt;li&gt;A very unique game, I don't know of any game similar to this.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Cons:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Not enough variation. Once you master the skill needed, the fun wears off. My suggestion is to add more types of asteroids in addition to the life asteroid and death asteroid. Perhaps an asteroid that makes depressions on the planet, or ones that build mountains. Perhaps ice asteroids that make oceans, fire asteroids that make volcanoes, etc.&lt;/li&gt;&lt;li&gt;The presenters themselves noted there were some bugs.&lt;/li&gt;&lt;li&gt;The presenters did a poor job of explaining the game to the judges. Brett had to re-explain how the game works to the other judges so they could understand it. Remember, some of the judges know very little about video games beyond what they have in their smartphones, so that needs to be taken into account.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Crystal Boom&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Pros:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Again, a challenging game. Like I said, I'm a big fan of shooters like these.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Cons:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;I find little relevance to the theme of "Primitive Life". Even the title, Crystal Boom doesn't have anything to do with the theme. I think the enemies were supposed to look like biological viruses, so there's that. Thing is, they cajoled an existing game genre into the theme, not the other way around. In the end though, I don't care as a gamer, cause I like to play these kinds of games.&lt;/li&gt;&lt;li&gt;Graphics weren't so good. Check &lt;a href="http://en.wikipedia.org/wiki/Clean_Asia!"&gt;Clean Asia&lt;/a&gt; and &lt;a href="http://www.the2bears.com/?p=625"&gt;Gradle Unison&lt;/a&gt; for ideas.&lt;/li&gt;&lt;li&gt;Same problem with Prologue, the judges couldn't understand how the game works even with the presentation that was made. I had to go and explain them.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Silhouettes&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Pros:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Challenging game. Running-man games are inherently challenging.&lt;/li&gt;&lt;li&gt;Easy to understand how to play. Only one judge didn't get it, and still, after a little explaining, he immediately got it. That's a given though, since running-man games always have simple controls.&lt;/li&gt;&lt;li&gt;Very very good amount of polish to the game, they can take the game as-is, and release it on the appstore. And they should.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Cons:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Not that it matters to me, but I also find little relevance to the theme here, if at all. They explained it was "primitive" in the sense that you're running in fear of the dark, like primitive instincts kicking in. But the truth is, again, they cajoled an existing game genre (&lt;a href="http://adamatomic.com/canabalt/"&gt;Canabalt&lt;/a&gt; clones) into the theme. It feels like cheating to me on that bit, resting on some sure-win mechanics that other people came up with. But again, its ok. The thing is, they added their own little twist to the running man genre so it wouldn't be generic.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;If it were up to me, all these three would win, but all of us judges had varying opinions. The only thing we could universally agree on was that&amp;nbsp;Silhouettes was very nice overall, so it was no question that that was first place.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-5AdUE1CUcjo/UHwJTPeQpGI/AAAAAAAABu4/KBrPaTATYyo/s1600/IMG_20121013_193617.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-5AdUE1CUcjo/UHwJTPeQpGI/AAAAAAAABu4/KBrPaTATYyo/s320/IMG_20121013_193617.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;What hampered the other two games was that the judges didn't get how those games were played, and presentation was part of the judging categories. In contrast,&amp;nbsp;Silhouettes was easily understandable.&lt;br /&gt;&lt;br /&gt;For future games, my tip is to add in-game tutorials, perhaps in the same way&amp;nbsp;Silhouettes does. Also I did that in my game, &lt;a href="https://dl.dropbox.com/u/25260770/TopSide/WebPlayer.html"&gt;TopSide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To the game jammers, here's a tip: NO ONE WILL WANT TO BOTHER READING THE HELP/CONTROLS SCREEN. You can't expect people to be patient when all they want is to see how the game plays.&lt;br /&gt;&lt;br /&gt;If you find people getting stuck and you have to explain verbally how the game plays, you're doing it wrong.&lt;br /&gt;&lt;br /&gt;The game should naturally teach the player how to play, as part of the playing experience.&lt;br /&gt;&lt;br /&gt;It could be in-game tutorial text like in&amp;nbsp;Silhouettes or TopSide, it could be some character in-game talking to you how the game plays, it could be tutorial levels, like in Valve's Portal.&lt;br /&gt;&lt;br /&gt;Play again the videogames that you play on your PC's and consoles. You'll see these things. And they're very important. The player won't get to experience the fun part of your game if they can't understand the controls in the first place.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Here's &lt;a href="http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-1.html"&gt;part 1&lt;/a&gt; and &lt;a href="http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-2.html"&gt;part 2&lt;/a&gt; of this 3 part post.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/Vt_dNJjzl7c" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/5509920412671643953/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-3.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/5509920412671643953" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/5509920412671643953" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/Vt_dNJjzl7c/unity-game-jam-manila-2012-part-3.html" title="Unity Game Jam Manila 2012 Part 3" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-a0IiZYlAoKE/UHpCpI8EBOI/AAAAAAAABsc/AIAnA_GUz9U/s72-c/IMG_20121013_114534.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-3.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-7491425618883652803</id><published>2012-10-14T13:30:00.004+08:00</published><updated>2013-06-01T13:56:04.007+08:00</updated><title type="text">Unity Game Jam Manila 2012 Part 2</title><content type="html">So with that &lt;a href="http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-1.html"&gt;previous part&lt;/a&gt; about the new keyword, I spent time fixing my code for &lt;a href="http://victisgame.wordpress.com/"&gt;Tactics Ensemble&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;By 7pm of Oct 11, Thu, the participants entered. More than 30 people came in (16 teams were ultimately formed).&lt;br /&gt;&lt;br /&gt;After the introductions and FYI's with the student's curfews and everything, Brett announced the theme:&lt;br /&gt;&lt;br /&gt;"Primitive Life"&lt;br /&gt;&lt;br /&gt;Huh.&lt;br /&gt;&lt;br /&gt;To help, Brett showed some examples, "Ok, what do you mean by primitive?" It could be, primitive geometry, primitive behaviour, and some other examples I forgot. It was "primitive geometry" that stuck in my head.&lt;br /&gt;&lt;br /&gt;Brett told us mentors, "You know, this first half of the jam, you don't need to worry about anything, cause they're still mostly in the planning phase. You might as well get some rest. It could actually get pretty boring so you may even want to actually do the game jam too, you know, while waiting for people to ask for your help, you could do it as well, cause you're gonna get bored."&lt;br /&gt;&lt;br /&gt;I actually had a headache that night (was not able to sleep the night prior to that because friends were playing multiplayer Borderlands 2 nearby, shouting all night) so after commiting my changes to Project Tactics Ensemble, I called it a night, &amp;amp; went back home to sleep.&lt;br /&gt;&lt;br /&gt;On the way home though, I thought if I was participating too, then I mulled on the theme.&lt;br /&gt;&lt;br /&gt;Primitive Life.&lt;br /&gt;&lt;br /&gt;Hmm.&lt;br /&gt;&lt;br /&gt;The usual thing to go for here is some sort of caveman game. But that's too bland.&lt;br /&gt;&lt;br /&gt;What about a game where you beat up programmers who have such a primitive way of thinking in making their code? Yeah that'd be fun, I'd play that. A lot.&lt;br /&gt;&lt;br /&gt;All I could remember from Brett's examples was &lt;i&gt;primitive geometry&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;So between last night and the following morning, my train of thought led me to this old 1884 novel called &lt;i&gt;&lt;a href="http://en.wikipedia.org/wiki/Flatland"&gt;Flatland: A Romance of Many Dimensions&lt;/a&gt;&lt;/i&gt;. I actually found out about that a long time ago in college, thanks to &lt;a href="http://www.gutenberg.org/ebooks/97"&gt;Project Gutenberg&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I never really got around to reading the novel but, long story short, its about a fictional world where 2d shapes were living, breathing characters.&lt;br /&gt;&lt;br /&gt;One of them, a hexagon, thought, "What if there's a 3d?". And such ideas were pretty much taboo in 2d land. So she ended up in a journey going to 3d and even 1d. (As a nice bonus, there's actually an animated film adaptation of the novel released back in 2007.)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-peWVvh8e-bU/UHo1Am-nXfI/AAAAAAAABrM/pFMJOZJh_QM/s1600/FLATLAND+POSTER_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-peWVvh8e-bU/UHo1Am-nXfI/AAAAAAAABrM/pFMJOZJh_QM/s320/FLATLAND+POSTER_1.jpg" width="226" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;That was where I got the idea. Some game where you transition between 2d and 3d. And I thought, practically that would most likely be transitioning between side-scroller and 3d isometric.. or should it be between side-scrolling and 3rd person view?&lt;br /&gt;&lt;br /&gt;And I thought the idea is good but I'm going the wrong direction here. There's not much sense in doing those.&lt;br /&gt;&lt;br /&gt;So I thought, what about a game where you transition between side view and top view? That's probably more useful. There are things you can only do in side view, and things you can only do in top view.&lt;br /&gt;&lt;br /&gt;Then I thought, ok, I'll make it that you can only jump in side view, and that you can't in top view, because it's hard to notice such a thing in top view anyway.&lt;br /&gt;&lt;br /&gt;Side view is how you normally move left to right, but top view is useful if you want to "change lanes",&amp;nbsp;so to speak,&amp;nbsp;get behind or in front of things.&lt;br /&gt;&lt;br /&gt;So the moment I got back to College of St. Benilde, I was surprised to see my other mentor partner (Charles Cue) was already working on his game jam game too!&lt;br /&gt;&lt;br /&gt;Ok, a little competition now, is it?&lt;br /&gt;&lt;br /&gt;I started working on my idea as soon as I could. I checked around and it seems like the participants have yet to run into problems.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-37tFnXtuqXw/UHo2QAPOv9I/AAAAAAAABrU/OqoekN5RjD4/s1600/first.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="222" src="http://2.bp.blogspot.com/-37tFnXtuqXw/UHo2QAPOv9I/AAAAAAAABrU/OqoekN5RjD4/s400/first.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;This obstacle was the very first thing I set up to do.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;I might as well link the actual game I ended up with here. Make sure to click in the game so it can get keyboard input:&lt;br /&gt;&lt;script src="https://dl.dropbox.com/u/25260770/TopSide/UnityObject.js" type="text/javascript"&gt;&lt;/script&gt;  &lt;script type="text/javascript"&gt;  function GetUnity() {    if (typeof unityObject != "undefined") {     return unityObject.getObjectById("unityPlayer");    }    return null;   }   if (typeof unityObject != "undefined") {    unityObject.embedUnity("unityPlayer", "https://dl.dropbox.com/u/25260770/TopSide/WebPlayer.unity3d", 640, 480);       }   &lt;/script&gt;&lt;br /&gt;&lt;div class="content" style="margin: auto; width: 640px;"&gt;&lt;div id="unityPlayer"&gt;&lt;div class="missing"&gt;&lt;a href="http://unity3d.com/webplayer/" title="Unity Web Player. Install now!"&gt;      &lt;img alt="Unity Web Player. Install now!" height="63" src="http://webplayer.unity3d.com/installation/getunity.png" width="193" /&gt;     &lt;/a&gt;    &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;There are only 3 levels so far; the 3rd level simply loops back on itself when you finish it.&lt;br /&gt;&lt;br /&gt;I tried making myself useful for the participants but I got the feeling I was being brushed off. All the other mentors there were faculty staff of the school. I was the only outsider. Some of them probably didn't even know I was a mentor! Brett had a better rapport with the students cause, well, he was visibly the guy from Unity Technologies.&lt;br /&gt;&lt;br /&gt;I felt I looked rather stupid roaming around and getting strange looks from the students.&lt;br /&gt;&lt;br /&gt;Nevertheless there was at least one participant who was friendly with me. Admirably, she was the only one who went solo while the others were all in teams.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Ok, I'll stop here. In &lt;a href="http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-3.html"&gt;part 3&lt;/a&gt; I'll explain how the jam ended.&lt;br /&gt;&lt;br /&gt;Here's some photos I took (since no one was asking for my help!):&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-db15eD0EJlg/UHpCpGX0UFI/AAAAAAAABsc/c4PnPgMVsbc/s1600/IMG_20121013_114501.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-db15eD0EJlg/UHpCpGX0UFI/AAAAAAAABsc/c4PnPgMVsbc/s400/IMG_20121013_114501.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-4aKI5e-dxC4/UHiSDrMlBXI/AAAAAAAABiU/v6rjwahdxMw/s1600/IMG_20121013_045234.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-4aKI5e-dxC4/UHiSDrMlBXI/AAAAAAAABiU/v6rjwahdxMw/s400/IMG_20121013_045234.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Having neglected to bring a sleeping bag, this was&lt;br /&gt;where I slept. I used some t-shirts as a makeshift pillow.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://4.bp.blogspot.com/-fh_84EccFTc/UHpEoD_Sq8I/AAAAAAAABtY/7m_l_7CxiGM/s1600/IMG_20121013_064514.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-fh_84EccFTc/UHpEoD_Sq8I/AAAAAAAABtY/7m_l_7CxiGM/s400/IMG_20121013_064514.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="font-size: 13px;"&gt;Toilet paper? Check. Food? Check. Laptop? Check. All set!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://4.bp.blogspot.com/-vuGeZXGx39o/UHpEsLBHHBI/AAAAAAAABt4/njEOMR_S8Nw/s1600/IMG_20121013_064147.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-vuGeZXGx39o/UHpEsLBHHBI/AAAAAAAABt4/njEOMR_S8Nw/s400/IMG_20121013_064147.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="font-size: 13px;"&gt;Billy here used to be an intern in our company, now he's&lt;br /&gt;landed a job! Not in our company, but I'm still happy for him.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://3.bp.blogspot.com/-ryTVS5VX4u4/UHpEsF_sfqI/AAAAAAAABt4/3YRXHShk-6M/s1600/IMG_20121013_064206.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-ryTVS5VX4u4/UHpEsF_sfqI/AAAAAAAABt4/3YRXHShk-6M/s400/IMG_20121013_064206.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="font-size: 13px;"&gt;:3&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-t8H580qiWmM/UHpCpNEGwQI/AAAAAAAABsc/SXuBHCxzwog/s1600/IMG_20121013_114400.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-t8H580qiWmM/UHpCpNEGwQI/AAAAAAAABsc/SXuBHCxzwog/s400/IMG_20121013_114400.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-gHMYwvDhZCA/UHpCpOI7-nI/AAAAAAAABsc/N1rCOKdsCe8/s1600/IMG_20121013_114413.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-gHMYwvDhZCA/UHpCpOI7-nI/AAAAAAAABsc/N1rCOKdsCe8/s400/IMG_20121013_114413.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-MNYshZz7NtQ/UHpCpP-fBmI/AAAAAAAABsc/cvSNJShMd1o/s1600/IMG_20121013_114405.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-MNYshZz7NtQ/UHpCpP-fBmI/AAAAAAAABsc/cvSNJShMd1o/s400/IMG_20121013_114405.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-42dpvD56RXQ/UHpCpG8ZHLI/AAAAAAAABsc/uCQNRuF9EMk/s1600/IMG_20121013_114515.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-42dpvD56RXQ/UHpCpG8ZHLI/AAAAAAAABsc/uCQNRuF9EMk/s400/IMG_20121013_114515.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NA1RZhIpDEw/UHpCpG1UF-I/AAAAAAAABsc/ivjhbDEun3Q/s1600/IMG_20121013_114523.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-NA1RZhIpDEw/UHpCpG1UF-I/AAAAAAAABsc/ivjhbDEun3Q/s400/IMG_20121013_114523.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-xJAMIaIlttw/UHpCpENC4QI/AAAAAAAABsc/B1dCwwvGITk/s1600/IMG_20121013_114601.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-xJAMIaIlttw/UHpCpENC4QI/AAAAAAAABsc/B1dCwwvGITk/s400/IMG_20121013_114601.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-JfN37ROXmdg/UHpCpAFUIRI/AAAAAAAABsc/MVMCowlMYFo/s1600/IMG_20121013_114637.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-JfN37ROXmdg/UHpCpAFUIRI/AAAAAAAABsc/MVMCowlMYFo/s400/IMG_20121013_114637.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Zcn2rqiLTWY/UHpCpJDM7_I/AAAAAAAABsc/zxjwIkKpXPk/s1600/IMG_20121013_114644.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-Zcn2rqiLTWY/UHpCpJDM7_I/AAAAAAAABsc/zxjwIkKpXPk/s400/IMG_20121013_114644.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-g-BDXP5JVvc/UHpEoAl93qI/AAAAAAAABtY/A1OgRc5HELk/s1600/IMG_20121013_064324.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-g-BDXP5JVvc/UHpEoAl93qI/AAAAAAAABtY/A1OgRc5HELk/s400/IMG_20121013_064324.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/--Bl0XXizQX0/UHpEoDs7-XI/AAAAAAAABtY/T2NqY727wXg/s1600/IMG_20121013_064525.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/--Bl0XXizQX0/UHpEoDs7-XI/AAAAAAAABtY/T2NqY727wXg/s400/IMG_20121013_064525.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-GzIG7q1MfR8/UHpEoERgvjI/AAAAAAAABtY/iiWRtt3pacQ/s1600/IMG_20121013_064847.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-GzIG7q1MfR8/UHpEoERgvjI/AAAAAAAABtY/iiWRtt3pacQ/s400/IMG_20121013_064847.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-iW_8GqD1SL0/UHpEoL8oiJI/AAAAAAAABtY/t4lwQdYVbTY/s1600/IMG_20121013_064908.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-iW_8GqD1SL0/UHpEoL8oiJI/AAAAAAAABtY/t4lwQdYVbTY/s400/IMG_20121013_064908.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-HBysS7AYsm4/UHpEsAmOrYI/AAAAAAAABt4/GgBfJ2mK3R0/s1600/IMG_20121013_064217.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-HBysS7AYsm4/UHpEsAmOrYI/AAAAAAAABt4/GgBfJ2mK3R0/s400/IMG_20121013_064217.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-YAr0ithDKHI/UHpEsPrpL8I/AAAAAAAABt4/5l6PyWU-xok/s1600/IMG_20121013_064253.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-YAr0ithDKHI/UHpEsPrpL8I/AAAAAAAABt4/5l6PyWU-xok/s400/IMG_20121013_064253.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ijCzvFH1GKo/UHpEsL0F6YI/AAAAAAAABt4/UAFXO6tACk8/s1600/IMG_20121013_064304.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-ijCzvFH1GKo/UHpEsL0F6YI/AAAAAAAABt4/UAFXO6tACk8/s400/IMG_20121013_064304.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/77oVqYn-WpI" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/7491425618883652803/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-2.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/7491425618883652803" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/7491425618883652803" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/77oVqYn-WpI/unity-game-jam-manila-2012-part-2.html" title="Unity Game Jam Manila 2012 Part 2" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-peWVvh8e-bU/UHo1Am-nXfI/AAAAAAAABrM/pFMJOZJh_QM/s72-c/FLATLAND+POSTER_1.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-2.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-5815695639373686737</id><published>2012-10-14T09:42:00.000+08:00</published><updated>2012-10-15T15:04:28.775+08:00</updated><title type="text">Unity Game Jam Manila 2012 Part 1</title><content type="html">I got a rather surprising email last Oct. 2. A notification for a Unity Game Jam here in Manila, Philippines. Amid the looming deadlines I have for both work and personal projects, I thought that more stuff to do was the last thing I wanted to see.&lt;br /&gt;&lt;br /&gt;Then I thought, what if the prize is a Unity Pro license?&lt;br /&gt;&lt;br /&gt;I read the email more and what I got from it was this was meant more to be for learning Unity, other than it being a game jam (i.e. the whole "learn how to make a game in 48 hours!"). Also it turns out, De La Salle-College of St. Benilde is one of the sponsors of the event, so I take it students will be joining.&lt;br /&gt;&lt;br /&gt;So, for the most part, I just ignored it.&lt;br /&gt;&lt;br /&gt;The week that game jam is gonna take place, I see the usual announcements on our little IGDA Manila Facebook group, and silly me, I neglected to announce it on our Unity Philippines Users Group too. Though pretty much the people in Unity PUG are in IGDA Manila too. Nevertheless, I probably should have made some announcement too. I was hoping Mars Balisacan would do it; I'm only the guy who answers newbie programming questions in the group!&lt;br /&gt;&lt;br /&gt;Then I got a private message, "Hey Ferdi, would it be ok if you come in the game jam as one of the mentors to the participants?" And having gotten that message while I was in the office in the middle of work, it was like a nice little distraction to go on some event for a while.&lt;br /&gt;&lt;br /&gt;I also convinced myself that it would look good for the company if we participated in official Unity events. So I decided I would go.&lt;br /&gt;&lt;br /&gt;So come the starting day of the event, straight from Quezon City (where our office was) I took the railway transit back to Manila.&lt;br /&gt;&lt;br /&gt;When I got to the event's location (i.e. College of St. Benilde) I got stopped by some pretty strict security and it turns out the guards didn't even know the game jam is about to take place in their school.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-kJL58Xw8Jxc/UHiSCabFFzI/AAAAAAAABh8/D5SOvibzkV0/s1600/IMG_20121013_045156.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-kJL58Xw8Jxc/UHiSCabFFzI/AAAAAAAABh8/D5SOvibzkV0/s400/IMG_20121013_045156.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Fortunately things cleared out amidst many phone calls and forms to sign.&lt;br /&gt;&lt;br /&gt;Brett Bibby of Unity Technologies was coming in as the facilitator and the first thing to do was a briefing of us mentors. Apparently his flight got delayed so I was able to take some time to rest and chat with the people there.&lt;br /&gt;&lt;br /&gt;When Brett arrived, we set up our things in the game jam's venue, the school's "Alienware Lab". Pretty much a big open space with a bunch of Alienware PC's. Unfortunately those things weren't set up yet so I couldn't get to try them.&lt;br /&gt;&lt;br /&gt;So the briefing? It was this: Brett wanted to see how good we are with Unity so he asked us to come up with a game from scratch in 1 hour. Understandably it only needed to use cubes, and spheres, and whatnot.&lt;br /&gt;&lt;br /&gt;My throat dried and my heart pounded fast. Being something of a perfectionist, I didn't want to settle for making a game that can't be completed in one hour. You could say I'm a completionist.&lt;br /&gt;&lt;br /&gt;Ah, I know which game to make.&lt;br /&gt;&lt;br /&gt;The simplest thing I could do: a side-scrolling shooter.&lt;br /&gt;&lt;br /&gt;I did one before when Mars and I conducted the seminar about making a game using Unity. But I can easily recreate it from memory, more or less.&lt;br /&gt;&lt;br /&gt;The challenge was doing so in under one hour.&lt;br /&gt;&lt;br /&gt;So off I went.&lt;br /&gt;&lt;br /&gt;I kept on checking for the time, glancing back at Brett. He was eventually getting into small talk with the other facilitators of the event; the faculty staff from&amp;nbsp;College of St. Benilde (CSB).&lt;br /&gt;&lt;br /&gt;Oh, good, good, looks like Brett is getting distracted from checking the time. More time for me!&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Z_VFDmuFaN0/UHo-ih2oFfI/AAAAAAAABrw/KK4t8AVzdpw/s1600/IMG_20121013_114420.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-Z_VFDmuFaN0/UHo-ih2oFfI/AAAAAAAABrw/KK4t8AVzdpw/s400/IMG_20121013_114420.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Brett Bibby (left), and Patrick Williamson (right) of Unity Technologies&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;So I had my player ship moving and shooting, some enemies continually spawning, some particle effects, and I was about to finish some simple powerup feature when Brett called time.&lt;br /&gt;&lt;br /&gt;Mine got looked at first, and pretty much the mistakes I did were:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;If you are continually moving something (via code) that has a collider, you always, always will want to put a kinematic rigidbody on it. Failing to do so will cause Unity to be forced to recompute the whole world's static collision data.&lt;/li&gt;&lt;li&gt;Do not instantiate while in the middle of the game. Allocate &lt;b&gt;everything &lt;/b&gt;you'll ever need at the loading screen or startup only. i.e. use a resource pool. Regardless if this is a mobile or desktop game you will want a resource pool. The enemy here is Mono's garbage collector. Unity is still in the process of updating the version of Mono that they use. In the meantime we're &lt;a href="http://unity3d.com/unity/4/faq#sec1-b"&gt;stuck with the old version&lt;/a&gt; (Mono 2.6) which reportedly has a slow garbage collector. &lt;a href="http://ledpup.blogspot.com/2012/08/troubles-with-unity-and-mono.html"&gt;[1]&lt;/a&gt; &lt;a href="http://forum.unity3d.com/threads/150749-Unity-4-and-Mono-2.6"&gt;[2]&lt;/a&gt;&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Mono_(software)#Garbage_collector"&gt;[3]&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-dKQDREGyDkk/UHtGQVOloKI/AAAAAAAABuQ/nNuMG62Dg2s/s1600/Monovsmonosgen_thumb.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="332" src="http://2.bp.blogspot.com/-dKQDREGyDkk/UHtGQVOloKI/AAAAAAAABuQ/nNuMG62Dg2s/s400/Monovsmonosgen_thumb.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The red line shows how bad Mono 2.6's garbage collector is.&lt;br /&gt;The blue line shows the &lt;a href="http://www.mono-project.com/Release_Notes_Mono_2.8#New_Garbage_Collector"&gt;new garbage collector&lt;/a&gt; since Mono 2.8.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Point number 2 was understandable because I can't divide my attention at making a resource pool and the game's code and still complete in one hour.&lt;br /&gt;&lt;br /&gt;And so point number 1 was really my mistake there. And Brett said, "Don't worry, even I forget sometimes." The problem also was that you'd only notice this if you have the Profiler, which only comes in Pro.&lt;br /&gt;&lt;br /&gt;The effect then, is that people using the free version don't know why their framerate gets so low at times, and in effect they may get the wrong impression that Unity is slow.&lt;br /&gt;&lt;br /&gt;Brett was actually wanting that some form of warning be made when the user makes this mistake (a message in the console, some explanation on the user manual perhaps, etc.). They're still arguing about how to go about it, it seems.&lt;br /&gt;&lt;br /&gt;NCarter in the Unity IRC chat recommends people read up on the Nvidia PhysX User Manual. Since PhysX is what Unity uses, it will clear up a lot of mysteries for the common user if they read how PhysX works.&lt;br /&gt;&lt;br /&gt;The only other mentor who I was with, Charles Cue, did a cool job too. It was about feeding food to a dragon, all in cubes and spheres, yes, but that was the idea. It reminds me of &lt;a href="http://en.wikipedia.org/wiki/Papo_%26_Yo"&gt;Papo &amp;amp; Yo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-4uxt7hW_SAQ/UHpEoKtbSkI/AAAAAAAABtY/TIT1ta9bhwM/s1600/IMG_20121013_064355.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-4uxt7hW_SAQ/UHpEoKtbSkI/AAAAAAAABtY/TIT1ta9bhwM/s400/IMG_20121013_064355.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Charles Cue, one of the faculty staff and mentors of the game jam.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;The marshalls did an ok job too with the one hour hackaton, some were understandably struggling but they all got somewhere at the very least.&lt;br /&gt;&lt;br /&gt;Brett gave some final tips for us:  &lt;br /&gt;&lt;ol&gt;&lt;li&gt;These students who are entering the game jam? They will almost always want to use physics. The problem is that they will likely misuse it and you will end up with something that you might as well throw away. You need to explain the gotchas of combining physics with user-input and animation.&lt;/li&gt;&lt;li&gt;Sometimes they will ask how to do some particular thing which sounds rather strange. The proper thing to do is to ask "Wait, what are you trying to achieve in the first place with doing this?". And they go something like "Oh it's because I want to build a bridge that breaks." And then you realize "Ok, what you were asking for? That is totally not what you need to do to make a breakable bridge. You can forget about that. You need to do this instead..." and they realize they were needlessly doing things the hard way.&lt;/li&gt;&lt;/ol&gt;He then explained some intricacies with the Unity engine.&lt;br /&gt;&lt;br /&gt;When Unity gets memory to use, even when garbage collected in Mono, Unity NEVER releases that memory back to the OS. Naturally when the Unity game closes, only then will it get released.&lt;br /&gt;&lt;br /&gt;Apparently, this is actually a feature of any professional game engine: you will always want to allocate everything you'll ever need in a loading screen first, and never do any memory allocation while in the middle of the game proper. This is to ensure a reliable framerate for the game.&lt;br /&gt;&lt;br /&gt;Second, things you know about .NET do not necessarily apply with Unity. For the simple fact that Unity uses Mono, and not .NET. Structs always get allocated in the stack? Not in Mono (ergo, not in Unity).&lt;br /&gt;&lt;br /&gt;Thing is, in Mono, whenever you use the &lt;span style="font-family: Courier New, Courier, monospace;"&gt;new&lt;/span&gt; keyword, that will &lt;b&gt;always &lt;/b&gt;make use of the heap (memory allocation). If you're in Update(), you will not want to initialize a &lt;span style="font-family: Courier New, Courier, monospace;"&gt;Vector3&lt;/span&gt; with &lt;span style="font-family: Courier New, Courier, monospace;"&gt;new Vector3(0,0,0)&lt;/span&gt;&amp;nbsp;because that will make use of the heap.&lt;br /&gt;&lt;br /&gt;Instead, use the handy &lt;span style="font-family: Courier New, Courier, monospace;"&gt;Vector3.zero&lt;/span&gt;, or, if you need to give some specific values, do this for example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New, Courier, monospace;"&gt;Vector3 myPos;&lt;br /&gt;myPos.x = 345;&lt;br /&gt;myPos.y = 0;&lt;br /&gt;myPos.z = 23; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Don't worry, a struct (like &lt;span style="font-family: Courier New, Courier, monospace;"&gt;Vector3&lt;/span&gt;) can never be null, so this is fine. While it is admittedly a little more wordy (what used to be one line is now four lines of code), it will actually be faster this way. The point is, just don't bother with using &lt;span style="font-family: Courier New, Courier, monospace;"&gt;new&lt;/span&gt; if you're in a tight loop (i.e. Update).&lt;br /&gt;&lt;br /&gt;I'd like to clarify that this issue with &lt;span style="font-family: Courier New, Courier, monospace;"&gt;new&lt;/span&gt; is because of the way Mono works, not necessarily something Unity Technologies directly chose to do.&lt;br /&gt;&lt;br /&gt;They argue about this in length in &lt;a href="http://forum.unity3d.com/threads/140673-Garbage-Collection-Allocations-and-Third-Party-Assets-in-the-Asset-Store"&gt;this Unity forum thread&lt;/a&gt;, and here's &lt;a href="http://docs.unity3d.com/Documentation/Manual/UnderstandingAutomaticMemoryManagement.html"&gt;some tips on the user manual&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;That's it for now, I think this blog post is long enough as it is. In &lt;a href="http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-2.html"&gt;part 2&lt;/a&gt; of this post I'll explain what happened in the game jam itself and share some more photos I took. &lt;a href="http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-3.html"&gt;Part 3&lt;/a&gt; explains how the jam ended.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-HwA0wxiOXVc/UHiSCGiqz5I/AAAAAAAABh4/Hk0lPGe3MfU/s1600/IMG_20121012_113550.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-HwA0wxiOXVc/UHiSCGiqz5I/AAAAAAAABh4/Hk0lPGe3MfU/s320/IMG_20121012_113550.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/AsTEBM4JDcE" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://anomalousunderdog.blogspot.com/feeds/5815695639373686737/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-1.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/5815695639373686737" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/5815695639373686737" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/AsTEBM4JDcE/unity-game-jam-manila-2012-part-1.html" title="Unity Game Jam Manila 2012 Part 1" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-kJL58Xw8Jxc/UHiSCabFFzI/AAAAAAAABh8/D5SOvibzkV0/s72-c/IMG_20121013_045156.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://anomalousunderdog.blogspot.com/2012/10/unity-game-jam-manila-2012-part-1.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-3918390860339040464</id><published>2012-05-31T00:17:00.000+08:00</published><updated>2012-05-31T00:17:57.224+08:00</updated><title type="text">Why Level Up In Multi-player Is Bad-Wrong, Says Me</title><content type="html">&lt;br /&gt;The fundamental problem of leveling up, is that you have to level up.&lt;br /&gt;&lt;br /&gt;I quote this from the article &lt;a href="http://gamasutra.com/blogs/DylanHolmes/20120521/170651/Unlocks_and_the_Gamification_of_Gaming.php"&gt;'Unlocks' and the Gamification of Gaming&lt;/a&gt;:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;"EA had designed a game with a serious problem: new users, already at a disadvantage against their more experienced peers, had the deck further stacked against them through the use of unlocks. EA’s marketing for the Ultimate Unlock Pack explicitly acknowledge the problem they had created..."&lt;/i&gt;&lt;/blockquote&gt;The problem is new-coming players have to level-up to have a chance against long-time combatants in a multi-player setting. Did we ever stop to think if "level-up", which is perfectly appropriate in a single-player setting, makes sense in multi-player?&lt;br /&gt;&lt;br /&gt;It's no surprise to me I found in &lt;i&gt;Guild Wars 2&lt;/i&gt;, that a quick PVP match has everyone temporarily pumped to level 80 (for the duration of the PVP), to have it an equal playing field.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Why do we have Level-Up again?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And don't tell me it's because that's always how it's been.&lt;br /&gt;&lt;br /&gt;There are several reasons, but for pragmatic reasons, level-up is there so you are not bombarded with so many attack options at the start that you don't know how to use them all.&lt;br /&gt;&lt;br /&gt;Level-up is so you can work your way into learning new powers bit by bit since in a level-up system, you unlock powers a few at a time as you level-up. It forces you to concentrate on some new ability at the moment, sort of like a flavor-of-the-month power.&lt;br /&gt;&lt;br /&gt;So that contradicts a bit with having everyone suddenly pumped to full power when in PVP. Imagine you are a level 1 player, enter PVP and so you're now level 80. You now have access to all these attacks, which do you choose? How are you supposed to know which to choose?&lt;br /&gt;&lt;br /&gt;Three things come to mind:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Force it: Learn by trial-and-error&lt;/li&gt;&lt;li&gt;Get help: Have a friend teach you, or read up crash-course tutorials&lt;/li&gt;&lt;li&gt;Learn it the way the game meant you to: Stop the PVP, and go through the single-player aspect and level-up to 80&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;I think having these workarounds is far better than having an unfair playing field, especially if we talk about tournaments.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In contrast, other highly competitive games always have everyone in an equal playing field.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Street Fighter&lt;/i&gt; characters all have access to all their attacks at the start, in multi-player &lt;i&gt;Starcraft&lt;/i&gt;, everyone starts out not having anything researched, and you all start with an equal number of units.&lt;br /&gt;&lt;br /&gt;It's no coincidence these two games have a highly engaged competitive community. It's also no coincidence the three things I mentioned above also work to some extent for &lt;i&gt;Starcraft&lt;/i&gt; and &lt;i&gt;Street Fighter&lt;/i&gt;.&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/XvIuZlkNr6o" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/3918390860339040464" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/3918390860339040464" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/XvIuZlkNr6o/why-level-up-in-multi-player-is-bad.html" title="Why Level Up In Multi-player Is Bad-Wrong, Says Me" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://anomalousunderdog.blogspot.com/2012/05/why-level-up-in-multi-player-is-bad.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-6745670714343843471</id><published>2012-05-30T17:56:00.001+08:00</published><updated>2012-06-01T03:04:45.656+08:00</updated><title type="text">Videogame Development Bookmark Map</title><content type="html">&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-3oooOU9Y09E/T8XulU3SbpI/AAAAAAAABHU/czd2MYieNOE/s1600/bookmarks.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="378" src="http://1.bp.blogspot.com/-3oooOU9Y09E/T8XulU3SbpI/AAAAAAAABHU/czd2MYieNOE/s640/bookmarks.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Hi, I'd just like to share my small activity here: I'm transitioning my bookmarks from a list into a visual map, and I like the results so far.&lt;br /&gt;&lt;br /&gt;I want to share the bookmark links to everyone interested in videogame development, so here it is: &lt;strike&gt;&lt;a href="http://dl.dropbox.com/u/25260770/Bookmarks/VideogameDevelopment.xmind"&gt;http://dl.dropbox.com/u/25260770/Bookmarks/VideogameDevelopment.xmind&lt;/a&gt;&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;UPDATE: The xmind file is now in version control! Git repository here:&amp;nbsp;&lt;a href="https://bitbucket.org/AnomalousUnderdog/videogamedevbookmarkmap"&gt;https://bitbucket.org/AnomalousUnderdog/videogamedevbookmarkmap&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(Non-technical people can find there a link that says "Get Source" in an archive format of your choice. Just use that to download the latest version of the bookmark map.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is far from complete as I have a lot of bookmarks amassed over the years, so just check that link every now and then for updates.&lt;br /&gt;&lt;br /&gt;You'll need the program called Xmind (&lt;a href="http://www.xmind.net/"&gt;http://www.xmind.net/&lt;/a&gt;). On that note, I'm wondering if there's a better mind-mapping program that outputs in text format so this can be put on a version control system properly. It would be nice to collaborate on gathering links.&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/O7rSB4iq9qI" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/6745670714343843471" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/6745670714343843471" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/O7rSB4iq9qI/videogame-bookmark-map.html" title="Videogame Development Bookmark Map" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-3oooOU9Y09E/T8XulU3SbpI/AAAAAAAABHU/czd2MYieNOE/s72-c/bookmarks.png" height="72" width="72" /><feedburner:origLink>http://anomalousunderdog.blogspot.com/2012/05/videogame-bookmark-map.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-4841895583078144948</id><published>2012-05-03T07:57:00.000+08:00</published><updated>2012-05-04T05:52:06.468+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Crazy Ideas" /><title type="text">Open Image Annotation Initiative</title><content type="html">Long story short: A tool to let you annotate any image and &lt;b&gt;embed&lt;/b&gt; the drawings you made to that picture, &lt;b&gt;while having the original file stay intact&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To senior artists, imagine you want to give critic or feedback to another artist's work. Perhaps the anatomy of his drawing is wrong. Perhaps you'd want to draw in red lines how things should be.&lt;br /&gt;&lt;br /&gt;Normally you would open Photoshop for this, but what if you can sketch your notes for any image while in the browser, with pen tablet support?&lt;br /&gt;&lt;br /&gt;To artists, imagine you are keeping a collection of files for visual reference, or visual peg, as they say, and you want to use your Wacom pen to sketch notes on your reference images, &lt;b&gt;while keeping the sketch and the image separate from each other&lt;/b&gt;?&lt;br /&gt;&lt;br /&gt;You could save it as a Photoshop .PSD file (because you need layers), but what if you want to annotate an animated .GIF file?&lt;br /&gt;&lt;br /&gt;You could save the annotation sketches as a separate file, perhaps a transparent .PNG if you're clever. But that's messy.&lt;br /&gt;&lt;br /&gt;What if you don't want extra files to manage? What if you could add "layers" to any image file type? "Layers" on a .JPG, "layers" on a .GIF, "layers" on a .PNG?&lt;br /&gt;&lt;br /&gt;(I say layers in quotation marks because this proposed tool does not really add layers in a technical sense.)&lt;br /&gt;&lt;br /&gt;The idea is to &lt;a href="http://lifehacker.com/207905/hide-files-in-jpeg-images"&gt;embed an archive to an image&lt;/a&gt;, with the archive containing your "layers" as separate, transparent images.&lt;br /&gt;&lt;br /&gt;This hidden archive trick is not meant to be secretive; the file will be renamed to the extension of picture.zip.jpg, for example, if the filename is picture.jpg.&lt;br /&gt;&lt;br /&gt;To programmers, you can perhaps see that is not as efficient as true layers as in Photoshop .PSD files. Perhaps, who knows. (Note: the open-source equivalent of .PSD files, .&lt;a href="http://en.wikipedia.org/wiki/OpenRaster"&gt;ORA&lt;/a&gt; files, are actually just archives. Unfortunately, .ORA is still in a messy state right now to be usable.)&lt;br /&gt;&lt;br /&gt;But this tool is not meant for heavy image editing like Photoshop, it is a tool for adding quick notes and annotations to &lt;b&gt;any&lt;/b&gt; image.&lt;br /&gt;&lt;br /&gt;If you are still not convinced, the annotations can be saved as &lt;a href="http://en.wikipedia.org/wiki/Scalable_Vector_Graphics"&gt;vector graphics&lt;/a&gt; data, ensuring a very small bloat on the original file. Perhaps as 8-bit .PNG files, if need be.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;       Specifications&lt;/h2&gt;There are two variations on how the tool can add sketches on top of the image.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The sketches are saved as either .SVG or .PNG and stored in a zip file, embedded into the original image.&lt;/li&gt;&lt;li&gt;Same as in no. 1, but the original file is included in the zip to be embedded. And instead, a new image, a mixdown of both the original image and the sketches will be the "front-facing" file.&lt;/li&gt;&lt;/ol&gt;Using the mixdown will add more file size, but ensure that the annotations can be seen in any web browser, in any image browser, without any special program, and yet the original file can still be extracted with any standard archive manager.&lt;br /&gt;&lt;br /&gt;If file size is not an issue, the mixdown approach is more useful. To compensate, the mixdown image can be saved in a small file-size, low-quality .JPG if the user prefers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;       Transparent Images&lt;/h3&gt;&lt;h3&gt;    &amp;nbsp;&lt;/h3&gt;If the original image has transparency, the user can choose to use a background color to replace the transparent parts (for example, to add a white background on a black drawing to ensure it can be seen, even if it was posted to a forum that had a black background). A checkered square pattern will also be possible.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;       Pen Tablet Support&lt;/h3&gt;&lt;h3&gt;    &amp;nbsp;&lt;/h3&gt;As noted, the tool promises pen tablet support, such as in Wacom pens. Pressure sensitivity is important, and attaining an, at least rudimentary, recreation of pen or pencil-esque quality is important for the tool to be artist-friendly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;       Vector Graphics&lt;/h3&gt;&lt;h3&gt;    &amp;nbsp;&lt;/h3&gt;Typed notes will also be possible, as well as simple shapes like a circle, perhaps an arrow, etc. The tool will allow you to edit the vector graphics (which means the SVG data needs to be embedded, so it can be recreated when editing annotations).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;       Target Platform&lt;/h3&gt;&lt;h3&gt; &lt;br /&gt;  &lt;/h3&gt;As for what the tool will be made in, I'm currently thinking between Python (as a standalone program), or Flex or HTML5 (as a web browser plugin). Perhaps create both standalone and browser versions.&lt;br /&gt;&lt;br /&gt;Out of all of them, I am most familiar with Python, so for now, it will be a standalone program, made in Python, using numerous libraries such as &lt;a href="http://wxpython.org/"&gt;wxPython&lt;/a&gt;, &lt;a href="http://cgkit.sourceforge.net/"&gt;cgkit&lt;/a&gt;, &lt;a href="http://www.imagemagick.org/"&gt;PythonMagick&lt;/a&gt;, etc. &lt;a href="https://bitbucket.org/AnomalousUnderdog/openimageannotationinitiative/wiki/AnnotatorPythonStandaloneDevelopment"&gt;Here&lt;/a&gt; are the plans for that.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;       Viewer Program&lt;/h3&gt;&lt;h3&gt; &lt;br /&gt;  &lt;/h3&gt;In the plans is also a lightweight tool to view these kinds of images, and allow toggling display of the annotation sketches. Preferably it would be a plugin to your favorite image browser and web browser. Among the two, a web browser plugin is the simplest path. So that will be given priority. As a start, a Firefox add-on for this is planned.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;       Open Source&lt;/h3&gt;&lt;h3&gt;    &amp;nbsp;&lt;/h3&gt;I heavily prefer that this be released in an open-source license, but I am unsure which license to use. GPL is seen as restrictive for other people, and yet all my favorite digital content creation tools use GPL (&lt;a href="http://www.blender.org/"&gt;Blender&lt;/a&gt;, &lt;a href="http://www.gimp.org/"&gt;GIMP&lt;/a&gt;, &lt;a href="http://inkscape.org/"&gt;Inkscape&lt;/a&gt;, &lt;a href="http://mypaint.intilinux.com/"&gt;MyPaint&lt;/a&gt;, etc.).&lt;br /&gt;&lt;br /&gt;I would not want there to be closed-source derivatives/modifications to the Open Image Annotation Initiative, because a tenet here is it should still be usable without any special or proprietary plugins (the original file can still be extracted using any standard archive manager).&lt;br /&gt;&lt;br /&gt;The tool will use widespread and readily available data formats: &lt;a href="http://en.wikipedia.org/wiki/Zip_%28file_format%29"&gt;Zip&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Portable_Network_Graphics"&gt;PNG&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Svg"&gt;SVG&lt;/a&gt;, and perhaps &lt;a href="http://en.wikipedia.org/wiki/Json"&gt;JSON&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Yaml"&gt;YAML&lt;/a&gt; for miscellaneous information. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;       For interested programmers: &lt;/h2&gt;&lt;br /&gt;Git repository of work-in-progress here: &lt;a href="https://bitbucket.org/AnomalousUnderdog/openimageannotationinitiative"&gt;https://bitbucket.org/AnomalousUnderdog/openimageannotationinitiative&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/QFMwtd0pXm4" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/4841895583078144948" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/4841895583078144948" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/QFMwtd0pXm4/open-image-annotation-initiative.html" title="Open Image Annotation Initiative" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://anomalousunderdog.blogspot.com/2012/05/open-image-annotation-initiative.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-529804543392844992</id><published>2012-02-10T17:13:00.001+08:00</published><updated>2012-04-07T17:34:20.838+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Design" /><category scheme="http://www.blogger.com/atom/ns#" term="Victis" /><title type="text">Attributes</title><content type="html">Here is what I have been thinking about this whole time:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Arm Strength: Powerful arm movements. Affects melee damage, and climbing&lt;/li&gt;&lt;li&gt;Arm Dexterity: Quick, flexible arm movements. Like in martial arts. Contributes to actions like parry, flurry strikes, and acrobatic movements.&lt;/li&gt;&lt;li&gt;Arm Endurance: Maximum stamina for melee attacks.&lt;/li&gt;&lt;li&gt;Leg Strength: Powerful leg movements. Affects melee damage for kicks, faster travel time (i.e. speed)&lt;/li&gt;&lt;li&gt;Leg Dexterity: Quick, flexible leg movements. Contributes to actions like evading, dashing, tumbling, acrobatic melee, and proper footing in melee attacks&lt;/li&gt;&lt;li&gt;Leg Endurance: Maximum stamina for movement.&lt;/li&gt;&lt;li&gt;Hand Dexterity: Fine motor skills. Contributes to actions like skullduggery, playing of musical instruments, or using firearms.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;A high leg strength but low leg endurance means the person can do a short burst of fast sprinting, but he will tire away quickly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A runner with leg endurance means he may not move fast, but in the last 200 meters of a marathon, he's still going at the same pace, while the others are too exhausted. Essentially he's a distance runner.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Separating arm strength and leg strength was because I figured there are brute-like enemies who have overbuilt upper body muscles, but slender legs. Top-heavy, as they say.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Separating arm dexterity and leg dexterity is maybe too much though. Though I understand there could be martial art styles that concentrate on kicks only. I think I won't go that far though, so I'll combine them.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Arm Strength&lt;/li&gt;&lt;li&gt;Arm Endurance&lt;/li&gt;&lt;li&gt;Leg Strength&lt;/li&gt;&lt;li&gt;Leg Endurance&lt;/li&gt;&lt;li&gt;Dexterity: Quick, flexible movements of limbs. Like in martial arts. Contributes to actions like parry, flurry strikes, acrobatic movements, dashing, evading, and proper footing.&lt;/li&gt;&lt;li&gt;Hand Dexterity&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Having separate endurances for arms and legs meant that I'd separate stamina for arms and legs. Meaning the legs can get tired but the arms don't yet.&lt;br /&gt;&lt;br /&gt;I figured they could be combined as well, as when someone is exhausted, he wouldn't be able to use both arms and legs anyway, so it doesn't make sense to have separate stamina for arms and legs.&lt;br /&gt;&lt;br /&gt;The stamina they use are shared, in a way, though consumption wouldn't have been proportional for both depending on the action done (movement would consume more leg stamina and only little arm stamina, attacks consume arm stamina and a fair amount of leg stamina, because proper footing when attacking can also be tiring).&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It then made little sense to separate endurances for arms and legs. So combining them:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Arm Strength: Melee damage for punches and swings.&lt;/li&gt;&lt;li&gt;Leg Strength: Speed. Melee damage for kicks.&lt;/li&gt;&lt;li&gt;Endurance: Maximum stamina to expend when doing actions, like moving, attacking, etc.&lt;/li&gt;&lt;li&gt;Dexterity: Quick, flexible movements. Like in martial arts. Contributes to actions like parry, flurry strikes, acrobatic movements, dashing, evading, and proper footing.&lt;/li&gt;&lt;li&gt;Hand Dexterity: Fine motor skills.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I'd then rename Dexterity to Agility, then Hand Dexterity to simply Dexterity:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Arm Strength: Ability to exert powerful force using the arms. Melee damage for punches and swings.&lt;/li&gt;&lt;li&gt;Leg Strength:&amp;nbsp;Ability to exert powerful force using the legs.&amp;nbsp;Speed. Melee damage for kicks.&lt;/li&gt;&lt;li&gt;Endurance: Ability to sustain force for an extended period of time. Maximum stamina to expend when doing actions, like moving, attacking, etc.&lt;/li&gt;&lt;li&gt;Agility: Quick, flexible movements of limbs. Contributes to actions like parry, flurry strikes, rolling, tumbling, evading, and proper footing. Also contributes to melee damage. Reduces charge-up time for melee attacks.&lt;/li&gt;&lt;li&gt;Dexterity: Fine motor skills. Nimbleness of fingers.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I could change Arm Strength to simply Strength and Leg Strength to Speed, but I have characters that are slim, lithe, but have high kick damage, essentially high Leg Strength. It would not make sense that their attributes reflect a high strength score when they are slim and lithe.&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/nPkvpnY7_18" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/529804543392844992" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/529804543392844992" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/nPkvpnY7_18/attributes.html" title="Attributes" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://anomalousunderdog.blogspot.com/2012/02/attributes.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823910621157289707.post-1815129911978691966</id><published>2012-02-09T06:41:00.000+08:00</published><updated>2012-05-26T23:46:47.554+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Victis" /><title type="text">Garwolf Gives Up</title><content type="html">&lt;br /&gt;I was mulling about how Garwolf gets his forceful closure with Serin and this is the scenario that always plays in my mind.&amp;nbsp;It is unusual that this pessimist bypasses the first four stages in the Kübler-Ross five stages of grief.&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;Garwolf trudges on, disregarding his grevious wounds. "I need to save her", he says.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;Mayev can only watch in despair. Is this what love really entails?&lt;br /&gt;&lt;br /&gt;Arriving at the scene, he staggers and stops, lets out a soundless gasp. Once he remembers himself he darts for a place to hide. At this point it all feels rather foolish. What a stupid notion!&lt;br /&gt;&lt;br /&gt;He stays quiet and lets them pass in peace. A sigh escapes his breath as their last footstep echoes away. His vision lingers as his thoughts wander, "I wonder what do heroes do, when the world doesn't need their brand of saving."&lt;br /&gt;&lt;br /&gt;Eventually Mayev finds him passed out. Dead birds dot the path.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Garwolf finds himself in a lady's room, his wounds dressed.&lt;br /&gt;&lt;br /&gt;"Do not banter. They still bleed." Mayev inspects his face, her concern more than physical needs.&lt;br /&gt;&lt;br /&gt;His face limps like a lifeless manikin, drawn in a perpetual stare, without joy, without hate.&lt;br /&gt;&lt;br /&gt;"Sometimes," he speaks tentatively, "Sometimes I wonder. What it feels like to give up and surrender." He direct his gaze at her. "It would be so much easier.", he whispers.&lt;br /&gt;&lt;br /&gt;While she could not escape the flattery, she shakes her head, "You need to rest."&lt;br /&gt;As she closes the door, she could not help smiling.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Mayev kisses him, but something wasn't right. It was like kissing an unresponsive doll.&lt;br /&gt;&lt;br /&gt;"No, no, no, no!" "What are you doing? Fight back! Fight back! You always fight back!"&lt;/blockquote&gt;&lt;br /&gt;To be continued... Garwolf will find himself fighting one last time before hope is fully stolen.&lt;img src="http://feeds.feedburner.com/~r/AnomalousUnderdog/~4/sbAS9YqO_G0" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/1815129911978691966" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823910621157289707/posts/default/1815129911978691966" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnomalousUnderdog/~3/sbAS9YqO_G0/garwolf-gives-up.html" title="Garwolf Gives Up" /><author><name>Test</name><uri>http://www.blogger.com/profile/00127534560126353705</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://anomalousunderdog.blogspot.com/2012/02/garwolf-gives-up.html</feedburner:origLink></entry></feed>
