Monday, February 11, 2013

My First Program


I got so excited with what I've been doing in Unity that I totally forgot to talk about my first ever program!

I may have mentioned this earlier but I'm taking my first programming class in college at the same time I'm trying to teach myself C#. I'm learning C++ in my class, so I just hope I don't mess up in tests and what not. So far there hasn't been much of a problem. Half the reason I started teaching myself is because I got tired of how slow the class was going.

Anyways, I thought I would take a screen shot of the first program I ever wrote. This is what made me fall in love with programming.











I know, right?! Not even anything! haha. It doesn't do anything, and it took me forever to figure out how to print that information on screen without the program immediately exiting... ugh...

For those who speak C++... all it is is a bunch of cout's. I think it was to make sure we understand that concept, but it also taught us about the \t and \" and \n modifiers that we can use to manipulate the text. Adding \t inside the text tabs the text forward. Which is how all the text lines up into columns. Took me a while to make it look exactly right.

While that is not really anything a programmer can really be proud of, and to be honest it's some pretty monotonous programming... but I loved every minute of it! I was fascinated. I was on the couch on my laptop watching a football game, but I wouldn't have been able to tell you anything that was going on in that game cause I was so absorbed by that program.

There's been a few other programs I've had to make for my computer science class as well. I'll talk about those later.

By the way... I think part of the reason I'm enjoying this class so much more than any class I've taken is because the assignments are projects where you DO something... it's not just quizzes and regurgitating what I read onto a piece of paper haha pretty fun stuff.

Wednesday, February 6, 2013

Let's Do This!!

Alright I'm getting into Unity! I'm pretty excited about this. For my first trick...



LUNAR ROVER!!!!!

Ok, so yeah... I obviously didn't make it. Clearly I did a tutorial. But I'm dang proud of myself! This is awesome. You can drive the car around and it smacks into whatever those things are that I made. Moonrocks? That are, for some reason, rectangular. haha I used cubes.

I thought it was funny because the tutorial was walking through how to set up the movement of the car. It used the Transform function for left and right motion, so I was feeling cocky and said "I got this!" And set up some code to Transform the car forward. Of course I had no idea about the AddForce option. Which makes perfect sense, of course. With AddForce, it takes into account the physics. For example, with Transform you just move forward with you hit the up key, then when you let go you immediately stop. With AddForce you would keep going until the force behind you car zeros out due to friction.

I also had my first encounter with particle systems. Not a fan... I think I'm going to have trouble with those. It didn't help that Unity recently revamped their particle system interface, so the tutorial was out of date.

Anyways, I learned a lot and it's awesome. I wish I could figure out how to drive the car up the block in front of it and jump off of it... but I had to restrict it's rotation so it doesn't get all twisty and flying through the air if it hits anything.

Next post coming soon!

By the way the tutorial is here

Blender...

So my initial research on programming and what not led me to a program called "Corona." I thought "Hey, I'm just here to make an app, right?!" But I don't just want to make apps! I want to do tons of stuff. I want to be a programmer not an app-maker. Anyways I went against that. I wanted something more widely used so that I could get tutorials and help. I also didn't want to be limited in what I could do.

So my research led me to Unity. Unity seems like an amazing product! Apparently most "Game Engines" sell for... a lot. This is free! Yeah, you can pay and get an upgraded version, but we'll cross that bridge if we ever come to it.

Then I thought "Hey! Why not make this game right... in full 3D!" Probably one of the dumbest things I've ever thought haha. Not that that wouldn't be AWESOME. But think of the work involved...

Anyways I downloaded Blender. Another Unity-like free program for 3D design. I paid for a subscription to CG Cookie. They have Unity and Blender tutorials and help. Keep in mind that's the first thing I payed for.

So I opened up a tutorial called "Intro to Character Modeling." I downloaded the source files and started designing "Kara" (the tutorial is here).

Now... Kara and I have a complicated relationship... haha. It started off great while I was doing very basic shaping (don't get me wrong it took FOREVER), but then I got to the head. I think what happened is that I had set up a mirror and made a plane for her nose. I guess I missed the step where you have to delete extra vertices, so one thing led to another and I think I have duplicate vertices for that part of her face. So every time I try to fill in the space between a couple points, they go to the vertex on the OTHER side of her skull. HA! I'll try to include pictures.

Anyways I got tired of trying to fix it... So Kara may well be forever unfinished... Poor girl.




I'll finish her eventually... I just got ancy to get into coding. I think that's what I'm most excited for. But don't let me get you down! That was a GREAT tutorial, you should do it if you want to learn more about blender or 3D design. I need to finish it cause it gets into particles and rigging/animation.

Jeez now that I look at it she's got some weird lips...



Monday, February 4, 2013

Oh my gosh!

I figured out how to post a sub heading to my title! Step one... check haha

My Introduction

Hello all!

My name is Graham and this is my first time attempting any sort of blog. To be honest, I've always been a little apprehensive about social media. I got tired of getting notifications from facebook asking me to try "birthdays" or some such nonsense. So I always stayed away. I think that was until I found something that, in my opinion, is worth writing about. That's not to say nothing else is, but I think you get the point.

I've always loved video games. I know that a lot of people see it as "a waste of time" or "too nerdy" or "for losers." I have also known kids when I was growing up that weren't allowed to play. Bogus rumors of it "rotting your brain" or some such nonsense. I loved them as a kid for the obvious reason, but as I grew up I started appreciating them as an art form and it's the ultimate art form in my opinion.

Think about a painting that puts you inside the mind and gives you control of the main subject. Or a song that changes depending on what's happening around you. Actually that last one is a bit too... pretentious? I don't know, but I don't like that analogy. Barely makes sense if you think about it haha. Anyways, I DO know that everyone wonders what it's like to be in someone else's shoes, and with the right type of game and great programming, BOOM! You're someone else. Have you ever played the Sims? Millions of people have bought that game to take the dog out or empty the dishwasher, but you're someone else and it's fascinating.

So a natural assumption is that I would try to be a programmer or game developer, but that has never really been an option in my mind. It's always been too embarrassing for me. I couldn't bring it up to anyone cause I thought I'd be laughed at. Called a nerd. Whatever. And don't go crazy cause I said that! I'm not saying it IS embarrassing, I'm saying I WAS embarrassed. Just me. Plus think about trying to ask a girl out or something and having to say "Yeah I make video games." That's not a deal breaker, but it probably won't help things.

Then I got to college. Yeeesh. I'm lucky that my parents are so patient because I flip flopped on majors like nobody's business. Nobodies business? I'm not sure how that phrase works... Anyways, I was a psychology major, then engineering, premed, business, russian, etc... finally got back to business recently because it's the most practical. You can work in any industry. (If Russian seems out of place, it's because I speak Russian. I lived there for 2 years on a service mission for my church.) So right know I'm attending Brigham Young University in Utah majoring in Business, double majoring in Russian (because I lived there for so long they won't let me minor in it...), and minoring in Computer Science (you know, practicality.)

This is getting long so let me get to my original point. My first day of computer science classes I was blown away by how much I loved it. I know it was the first day, but I got this feeling that this was something I could do and would love to do. I was also blown away by how much I HATED my Russian literature class. So I quickly forgot about Russian and decided to dedicate myself to business and computer science.

I was laying in my bed one night playing "Might and Magic: Clash of Heroes." on my ipad. It was a fun enough game but I had to go to bed and a thought dawned on me. Why can't I do that?! It was simple enough. Probably not TOO complicated. I could totally make a game like that!

I should back up a bit. I had a buddy that I was in Russia with that loved to fill the time we spent roaming the streets looking for people to talk to with thoughts about cool movies and stories he thought of. This got my creative juices going, so I came up with some ideas on my own. But they weren't movies they were of course - video games. I came up with one idea that I thought would be amazing. Everytime I play a game, I have a list of things I would have done differently. Something I didn't like that I would change. Like when you learn about some secret society of knights in an RPG or something, I bet you think "Why can't I join those knights?!" From that list, I created my perfect game in my head. That's what I told my buddy about.

Up until that thought of "Why can't I make that game?!" the thought of my perfect game was a dream that I thought maybe someday I could suggest to someone and they could make it. I thought of the 3D graphics and polished feel of games produced by big companies. But what makes a game great isn't the graphics, it's the gameplay and the story. Don't get me wrong, the graphics help, but you can still make a pretty game without all the 3D bells and whistles. I've played plenty of them.

So in that moment, I decided that I wanted to make my game. Don't get me wrong, I know it will take a lot of work and dedication. I wanted to learn what I needed to, so I could contribute to the gaming world and become a member of the gaming community. This blog is one of my first steps. I want to become more involved in this community, and this is my way of reaching out.

Also, this is where the title of my blog comes from. "The Developing Student." I'm sure you can get the point. I'm developing myself as a student of programming and games, and becoming a student of the development process. Anyways, I promise the other posts will be shorter, I just wanted to let you know a little about me. I hope you enjoy this blog as I talk about "One man's journey to creating the Indie game of his dreams." That, by the way, would be the subtitle to my blog if I could figure out how to put one on there... Not a great start to my career with computers haha.