Here’s what I got so far, cubes following a pill
I did a video blog this week. At the end I said I will meet with Travis on Monday Week 7, I meant Week 8.
I got project 2 started. Time time I’m working on a 2D platformer. The goal is to get a working character that can move around and jump. Have some obstacles that hurt/kill the character. Some “coins” to increase the score. Possibly some enemies. Stretch goals would be to have abilities such as wall jumping, double jumping, and something like a spring for super jumps.
So far I’m working with basic cubes for the assets. I’m not wasting time making this one look good, that can come later. It kinda looks like Thomas Was Alone because of that. I’m still using PlayMaker and I started off making the character move similar to my last project. I had an FSM that would detect for the arrow presses and then I would translate the character left or right. After doing research though, I found a better way and I scrapped that method. I’m now using a character controller and character motor. These are built into Unity and can tie into PlayMaker.
With the Character Controller imported onto the character, I can move the character left and right with the W,A,S,D keys, the arrow keys, and the left analog stick on my 360 controller. I disabled vertical movement so that it doesn’t think it’s a 3d game, and only moves left and right. My challenge now is to figure out how to get the character to jump. I found one tutorial on how to make a 3d character controller in PlayMaker here but the guy doesn’t even explain how to get the character to jump when it comes to the part of the video that he talks about jumping.
My goal over the weekend is to figure out how to jump, and then hopefully by the end of next week, I have something that can move around from platform to platform.
Unfortunately, this first project did not progress as well as I anticipated due to set backs, such as restarting the project in PlayMaker, troubleshooting my GPU, as well as my trip to Seattle cutting out a lot of time from my schedule. I was able to got project 1 to the point that it actually resembles a game. Not a game that I’m proud of, but at the very least it resembles a game. Here’s the link to the executable:
I want to break down the good, bad, and what I would do differently if I were to do it again.
First thing is first, I got a character that the player can control. It can move, and it can shoot. It can die if it gets hit. Things I would change is the move speed, I feel like it was going a bit too slow. Not only that, but if I were to do it again, I would make the ship go in 8 directions instead of just 4. I think the 4 directions feels too restrictive and moving in 8 directions would make the game feel more smooth. As for the shooting, the bullets didn’t always destroy the enemy. I didn’t find out what was the issue. It was working fine before I implemented the score, but I had to change the FSM to get the score tracking to work. For brief moments, the bullets would not collide with the enemies. Additionally, the bullet textures will also briefly disappear, but that was a problem from the beginning. I will need to figure out what is causing this issue and prevent it from happening in my next 3 projects.
I was able to get the enemies to spawn in a random position. What I had it do is that I would transform the position on the Y axis up or down a random distance. The issue with this is that it would eventually push the spawn point off the screen. I need to get the spawn point to randomly move to a spot within a certain range on the Y axis rather than pushing it up or down. I also think that random speeds for the enemies, within a certain range, would make the gameplay more interesting.
As for the bullets and enemies, one thing I’m happy about, that I figured out on my own, is to destroy the bullets and enemies after they have left the screen. I originally was trying to get an object to catch the bullet and enemy prefabs and destroy them as they collide. This didn’t work. So what I did instead was had each prefab on a timer so that they would destroy once they have left the screen. The bullets would destroy in 2 seconds and the enemies would destroy in 5 seconds, giving them both enough time to travel across the screen and completely leave the screen. I will try to fix the issue with the bullet and enemy catchers though because future projects might need these methods rather than timing the objects off the screen.
I never got around to implement health or lives. When the player dies, nothing happens. I should have a game over screen if the player reaches zero lives. Also I could have the player earn extra lives if they reach a certain score. A high score tracker would have been cool too, but that would be a stretch goal, as well as getting separate levels and getting the animations to work.
So that’s my run-down for the first project. I’m certain not thrilled with the result, it’s definitely not portfolio-material, but at the same time, I feel like I learned a little about PlayMaker and Unity, and have confidence that Project 2 will turn out better. I will get that started on Monday and have an update this coming Friday.
One other thing, I got an EVGA nVidia GTX 770 after replacing that Gigabyte gpu. I had such a bad experience with them that I decided to sell the replacement card they sent me, and put that money toward a new card. I got the card on Friday and it’s been running smoothly so far. So it looks like I will not be having anymore graphical issues with my home pc.
This week I’m posting an early blog entry since I will be out in Seattle for PAX Prime. So best time to do this is before I leave tomorrow morning.
First off, since my last blog entry I was shown a plug-in called PlayMaker for Unity. This is a visual scripting plug-in, which is great for someone like me who’s not exactly a programmer and wants to put together some gameplay. So I started the project all over from scratch so that I can use PlayMaker rather than using some one else’s ActionScript code that I will somewhat understand but would have no clue how to do on my own.
The problem with PlayMaker right now is that since I’m new to it, I don’t know if I problem that occurs in my game is due to me messing up in Unity or me messing up in PlayMaker. So that resulted to Travis shaking his fist while angerly saying “PLAYMAKEEERRRRRR!!!!” while he’s helping me figure out what’s wrong.
The problem I had was pretty funny. I was able to get a ship moving with the keyboard and shooting with the mouse. I got boundaries so that the ship doesn’t go off the screen. I made an enemy ship, and when it was just sitting there, not moving on the screen, I was able to have it trigger correctly to the bullets and to my ship. If a bullet hit it, it’s destroyed. If my ship hits it, we’re both destroyed. But once I made it a prefab, created a spawn point, and tried getting the ships to spawn in, collision was gone. They would hit the boundary at the left of the screen and start collecting on the left side of the screen. Ended up, I had a rigid body on the enemy and I did’t have the collision box set to trigger.
Another issue I got right now is that the bullets aren’t fully visible at all times, but I’m not going to worry about that too much right now since I can still tell where it’s at when I have PlayMaker labels turned on, and the collision of the bullets work. So that’s all that matters right now, that it works.
Once I get back from PAX next week, I’m going to make sure that my enemies are getting destroyed when they go so far off the left of the screen. I don’t want the game to create so many that it kills the game. Then I want to work on randomizing the spawn. Adding a score is next, alone with having a life system and game over if the player is out of health. The week after that, I will have to wrap things up.
Anyways, I’ll keep this week short and sweet since I need to get ready to leave for the morning.
My first blog entry for my Independent Study for Fall 2013! With Travis Faas as my mentor, my plan with this course is to expand my knowledge with Unity3D, better familiarize myself with the software, and get practice/experience with setting up gameplay mechanics. My objective I set for myself is to make 4 games within this 16 week semester, so one game a month. The focus on each game is to make them run without bugs and to make them fun. I’m not an artist so I’m not going to focus on making the games look good unless I find myself far ahead of schedule, the goal is to make them play well.
This first month, my game is a side-scrolling shoot em up. Similar to games like Gradius, R-Type, and Vanguard. Yes, Vanguard for the Atari 2600, I’m old school! I found a good tutorial at the Infinite Ammo website on making a shoot em up in Unity. I’ve been going over it this week and feel like I’m ready to build my own version of the game this weekend. I wont be using a lot of my own code though since I’m not a programmer. Though, I will be altering and adding my own things to the game to not only make it my own game, but to show that I have an understanding of how to build the game. For example, this tutorial doesn’t have a title screen, score tracker, lives, and levels. Title screen shouldn’t be difficult to add, so I’ll go ahead and put that into my build first, and then continue with score and lives next week.
Off to a side tangent, I was side tracked for a whole day this week because a friend of mine and I were trying to figure out what’s wrong with my graphics card. A quick history recap, I have sent my video card in for an RMA twice so far. Once in January and another time in June. It has had issues with games like polygons exploding into different directions, destroying models and making terrain disappear. When I got it back the 2nd time, that issue was resolved but I noticed a new issue now.
In some games, and in some programs like UDK and Photoshop, I will see these random blocks and scratches. It’s very annoying. These blocks and scratches will show up in almost a checkered pattern. We tried all sorts of things, and we have no clue what’s wrong. My friend who think’s he’s the PC equivalent to Dr. House has diagnosed my PC to having lupus. I hope I can get this issue resolved with Gigabyte tech support without sending the card back for another RMA because I’m tired of sending it back to them. Fortunately, this issue doesn’t seem to be affecting Unity3D. Though I am taking Mat Powers’s Advanced Game Course, so I’ll need to use UDK for that. Worst case scenario is I purchase a whole new GPU, one that’s NOT Gigabyte because I’m really getting tired of them.
Next week’s blog entry will be posted up no later than Wednesday since I’m leaving Thursday morning to go to Seattle for PAX Prime. After that, expect all Indie Study blog entries to be posted every Friday.
My final for Newm N230