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!

Food for Thought: The Gobalization of Games and Gamers

So today I was playing through Nintendo's Free to Play game Steel Diver for the 3DS that was just released a few days ago for the Nintendo eShop (a very interesting, fun, and tactical game).

The most interesting thing about it is the online multiplayer. I'm not talking about the inclusion of free online multiplayer in a free game. I'm talking about the audience that the game serves.

Food for Thought: Global Game Jam 2014 Post Mortem

Wow this Game Jam was completely crazy. So many things happened and I learned a lot. Here's what I learned. (btw check out my game here! http://globalgamejam.org/2014/games/anti-hero)
Even if a jam might not feel fun in the moment, it is still super important to participate in order to experience what it's like to make games so you can learn a lot in a short amount of time. Even seasoned veterans should be doing it to hone their skills and to come up with new and creative ideas.

Food for Thought: Jam On!

The Global Game Jam (GGJ) is coming up this weekend and I'm getting nervous, and excited, as the weekend approaches. It'll be a good and informative experience for me though, because I will learn a ton during those condensed days of making a game. I think it's important and valuable to participate in a game jam, if you're a developer, for several reasons.

Work Tips: The Importance of Motivation

So I've been working as much as I can lately, especially with some trouble I am having which is destroying my motivation to work on my games, which is exactly why I'm making this post.

Motivation is very important to your success when making a game. Without motivation, you will not be as confident in what you do. It will also affect the lifetime of your production.Your team will also affect your performance too.

Work Tips: Working on a Team

Working on a team effectively requires a few things, as I've experienced last night. So the situation last night was that me and my cohort were talking about a jellyfish animation that she was making for our game. I pointed out a few things that was concerning to me because I wanted the jellyfish to move more closely to a real jelly, using videos on youtube as reference points (I'm talking about aurelia aurita btw). A couple of my suggestions were taken but everything else was rejected because of animation theory.

So in the end I did make a couple of changes, but not everything was changed. Looking back at it, a few important lessons were brought out of that.

Portfolio

Introduction

Hey everyone! My name is Wilfido Castaneda (just call me Wil) and I am the founder of Taiyou Productions. My roles and responsibilities include, programming, story designing, game designing, production management, business management, marketing, sound design, amongst other things too. Being and indie, you have to know a little bit of everything to take flight, which is stressful but necessary.