Wednesday, February 11, 2015

Work Tips: The Dangers of Starting with a Story

Hello everyone! I've been tuning in to the indie game dev pages on Facebook and I've noticed an interesting pattern. I've notice that many people start with a picture and a story of what kind of game they want to make and go into a lot of detail on how their story will unfold and develop. I thought to myself, "Isn't that a wrong way of making a game?" Looking back on it now, starting a game with a story isn't wrong, but there are risks associated with it.


Saturday, February 7, 2015

Personal: Why Do I Make Games?


Hey everyone. If you do not care about listening to anything emotional or personal then I'm sorry to bother you with this post, otherwise please read on.


Tuesday, February 3, 2015

Work Tips: The importance of prototyping

I recently came across an interesting quote:





Monday, January 26, 2015

GGJ15: Third Jam Lessons

This was my third year participating in the Global Game Jam and it was the best one yet. My roles during the jam were primarily programming and production.

Working on the game was the smoothest experience in development I have ever had. It was thanks to the rest of my team that things went so well despite a few hiccups, primarily on my end. Also big thanks to Phosphor Games here in Chicago for hosting a jam site! It's awesome for a local studio to extend a welcoming hand to the very small developers.

Sunday, January 18, 2015

Hello to 2015! And GGj '15

Hello everyone! It has definitely been a long time since I've posted here on this blog. I've really got to change that, so I've made a New Year Resolution to blog at the very least once a week!

Saturday, June 21, 2014

Tech Blog: Useful Unity Inspector Variable Inputs

There are a couple of neat and very useful tricks you can use to help you and/or your team out when creating scripts to attach onto objects. Today I'll show you a couple of inspector mods for variables that will help you out if you want a specific function.

The first one is a variable slider that will accept values within a specified range.

Sunday, June 8, 2014

Tech Blog: Unity 2D Tank Controls - Part 1

After an excruciatingly painful introduction to Unity, I have finally managed to get my Jellyfish rotating the way it is supposed to be rotating! The internet is both helpful and not helpful. It's only helpful if you understand what is being said to you, but I've managed, experimented, and succeeded.

Let's get right to business, shall we?

transform.eulerAngles = new Vector3(0,0,Input.getAxis("Horizontal")) 

If you're reading this, THANK YOU FOR BEING COURTEOUS!!!! The above code is just to rotate your object and not for forward motion. You'll have to do that on your own.

Okay so my incredible journey started with doing the obvious thing and trying to manipulate the object's Z-axis rotation value directly.

this.transform.Rotate(0,0, angle)

This code works.....kind of......

The problem is that the rotation is continuously compounded by the value of Angle, which was set to Input.getAxis("Horizontal") earlier in my code. This translates to an object spinning faster than a balled up Sonic the Hedgehog on your screen, with the speed moving in a parabolic pattern (meaning if you press the opposite direction, the spinning will slow down and then repeat in the opposite direction).

That was not what I wanted. It looked like the Jellyfish was placed in a front opening washing machine with a window inside of it. It was a blur.

So I did more research and found that I also had the option of using transform.eulerAngles to achieve my desired effect. I wasn't sure if there was a difference between euler angles or regular angles, so i tried it out. My next line of code was this.

transform.eulerAngles = new Vector2(0,Input.getAxis("Horizontal"))

This being done in Unity 2D (with a perspective camera), I assumed that you would go with Vector 2 where everything is supposed to be flat. Well it worked, kind of again (most compiled code will work. It just won't always work the way you want it to work). What happened is that my Jellyfish started spinning in the wrong dimension. Do you now the effect when you hold something up on a string and it spins around like the Earth does? Yeah, it was doing that. So I switched the Y and X axis to experiment with this.

transform.eulerAngles = new Vector2(Input.getAxis("Horizontal",0))

You can guess what happened here based on the code I presented so far. Are you ready? My Jellyfish started flipping out! Literally! So that's when I was getting pissed, and went against what I thought would work to use something that wasn't so obvious: Vector 3. I stepped it up a level, and placed Horizontal on the Z axis to be greeted with a jellyfish gently swimming the way it should.

It was swimming using the rotation point declared when you first input a sprite (because you get the option to change the rotation point in the inspector and I overlooked that) but I liked the effect that it had on my Jelly. 


In a nutshell, that first line of red code is how you get something to rotate pressing left/right. I hope this saves you some time in the future. Make sure to put it in Update or else it won't work, obviously. Next time, I will be talking about a couple of useful inspector tools to make using specific variables easy, and then afterwards I will be talking about using one object for many objects! Jaa ne!