For as long as I can recall I have loved games. My very first memory of playing games involve good times with my family. When I was about 7 my Dad brought hom an Atari system and my brother and I spent hours in front of that thing playing PacMan, Centipede, and well more PacMan. I can still recall pulling cartridges out and putting them in, arguing over what game to play next, and challenging each other on our scores. Later I can recall the power going out and the family sitting around the table playing board games by candlelight. In fact, given I grew up in the country it’s something we did often.
Later, I can recall the church i grew up in having arcade games (how awesome is that!? I bet every church in America could get kids to come out if they had arcade games after service… OK maybe not). I looked forward to Sunday School being over so I could have a donut and play Donkey Kong Jr, Tron, or more PacMan.
So fast forward many years later and I’ve been asked to explore Unity 3D and write up my thoughts about it. For those outside the know, Unity 3D is a game engine, which means you can utilize it to build games, specifically 3D games. While Unity does more then games, it’s my understanding that is the majority reason for more people to use it.
Super excited to be paid to play as it were, I delve right in. Or better said, I TRY to delve right in.
Now let’s back up again for a second. I’ve mentioned I played a lot of games as a kid. My dad brought home my first computer when I was 8. It was an IBM 286 (this shows my age). I was the kid in elementary school showing all the other kids how to use computers. It wasn’t much different in my later years. On top of that, I’ve spent a good portion of my career being thrown into the middle of a project and having to pick a piece of software in order to get a job done. Software isn’t difficult for me. Computers aren’t hard to figure out. I naturally get them.
Then enter Unity.
Surely making a game shouldn’t or even couldn’t be THIS difficult could it!?
When I first entered Unity, I was a little confused about the project that was already open. Since when do you enter any piece of “creation” software, for the first time, when you have a project already open? Who does that!?
Then I realise, “hey wait… I can click play and there’s a game to play!” How fun. After 5 minutes of mucking about with the game, I am reminded I am here to figure out how to MAKE a game.
Ok let’s utilize this open project to learn some of the basics… I see a light icon over here in the game window, what happens when I select, copy, and paste? I do that. I then select what I think is the item I just pasted and try to drag it to another location. Why isn’t it moving?
Lost, I try again.
What the…!? Why doesn’t this work?? Adobe Illustrator. Select, copy, paste, move. Works. Photoshop. Select, copy, paste, move. It works! Why doesn’t this work as I expect it to?
Ok let’s try something else. Selecting a graphic icon in the game and attempting to move that with the mouse works just fine. Now I am just annoyed.
What about moving around in the space? Things don’t seem to move as I expect them to. Hitting space bar usually means I get a hand icon and I can move my canvas but in this case it enlarges my window. Why!? After a good hour or so of mucking about, I finally manage to figure out that certain keys and mouse movements get me various forms of movement. It makes sense on some level that I get the types of movement I get but from the perspective of whether or not it’s intuitive, well, it’s just not.
By this point, frustrated and ready to have thrown in the towel, I remind myself that it’s my job to learn this thing. Sighing heavily through the pain of what feels like the first run after an injury that’s had you off your feet for a while, I decide perhaps the best way to figure out how to make a game in Unity is to simply start a whole new project and start playing.
I steady myself before I make the leap into the cold icy waters that is beginning a new project in Unity for the first time without having any training.
File > New Project
A nice shiny new project opens. I begin to look around. Noticing all the various windows. At some point I manage to discover the asset store and notice there’s a car racing game tutorial. COOL!
Do you recall the game Spy Hunter? One of my favorite arcade games!
So let’s make a racing game! That will be awesome!
Click download. Wait 5 minutes for download while exploring other aspects of the new project. Click install. Install runs. All looks fine but wait! Like a magician doing some great disappearing trick, my new tutorial had up and disappeared. I know I downloaded it. I know I installed it. Where’d it go!? I look around. I find open and see I can open an existing project. Hm. Nope. Not showing there. Ok maybe there was a glitch. Let’s try again. Um. No. Still no joy. Frustrated and confused, figuring 3rd time is a charm I try again. It’ll be a cold day in hell before I ever find this thing!
I give up and start playing with the assets in front of me. I drag a man to my “canvas” I drag over a few other items. I hit play just to see what I have and watch as my “man” (human shaped asset) falls through the sky as if he just jumped out of a plane without a parachute. Well this isn’t going to work. Ok so how do I build a platform for my man to run on. Surely there is ground to build!? Looking around I find something called “terrain”. That should work! Drag and drop and viola! I sit back after hitting play thinking my man will now run forward on the ground only to watch him once again “jump out of a plane”.
Well dang it! Now what?
The short version? It took about 2 hours with someone sitting me down over the phone to finally figure out how to create this scenario. This was after 10-15 hours of me playing with Unity trying to work out how to do it myself. Thinking this has to be easier I then move to Marmalade. Marmalade got stuck on the install process at the terminal windows on Mac. I’m still not sure what I installed on my machine, nor where it went.
I turn to UDK. Windows only. Well that’s a bust!
So just where is that a non-3D programmer goes to make games?